第一次发博,大家觉得不对或不好的地方请多拍砖。
看了看二次开发文档,总体的感觉就是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 Sub End Class运行后的结果显示如下: