第一次發博,大家覺得不對或不好的地方請多拍磚。
看了看二次開發文檔,總體的感覺就是EPDM所提供的介面比較多。如果想做好這方面的開發,主要是把 EPDM 提供的API文檔讀懂
做EPDM二次開發,首先要有環境,vs2005或vs2008 SQLServer2005或以上 PDM用戶端
言歸正傳,首先介紹一下EPDM二次開發的入口。
EPDM提供的二次開發的入口就是IEDMVault5-IEDMVault11的介面。程式開發前必須要聲明以上所提供的類的對象。
下面做一個讀取客戶名字的小例子,來看看程式是怎麼串連EPDM的
首先要建立一個工程。
然後添加tlb檔案庫,一般再安裝好所有環境後,會在添加引用的時候在COM欄裡選擇PDMWorks Enterprise 2010 Type Library,如果沒有就到PDM安裝程式下找Support\API\Edm.tlb
拖一個按鈕到Form表單上,再拖一個listbox到表單上。雙擊按鈕,VS自動添加一個Click事件
具體實現代碼如下:
Imports EdmLib '包含EdmLib標頭檔Public Class TestUserList Dim vault As IEdmVault7 Private Sub TestUserList_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load vault = New EdmVault5 '建立Edmvault5 對象 End Sub Private Sub btn_GetUsers_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_GetUsers.Click If Not vault.IsLoggedIn Then '如果沒有登陸PDM則登陸 vault.LoginAuto("Trainning", Me.Handle.ToInt32) End If ListBox1.Items.Clear() Dim userMgr As IEdmUserMgr6 '聲明一個IEdmUserMgr變數 userMgr = vault '直接把vault的值賦給userMgr Dim pos As IEdmPos5 '定義一個IEdmPos5變數,(這個變數經常使用) pos = userMgr.GetFirstUserPosition() '獲得第一個使用者 While Not pos.IsNull Dim user As IEdmUser5 user = userMgr.GetNextUser(pos) '迴圈讀取使用者 ListBox1.Items.Add(user.Name) End While End SubEnd Class
運行後的結果顯示如下: