暴雨前的宁静

博客园 首页 新随笔 联系 订阅 管理

第一次发博,大家觉得不对或不好的地方请多拍砖。

 

看了看二次开发文档,总体的感觉就是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

 

运行后的结果显示如下:
posted on 2010-03-22 11:13  暴雨前的宁静  阅读(3187)  评论(2编辑  收藏  举报