pb9中COM的创建和调用

 pb中不仅可以调用com(请参见http://blog.csdn.net/precipitant/archive/2007/09/05/1773126.aspx) ,也可以创建com。

  创建方法:

  1,  创建一个workspace

  2,  在workspace下创建一个application ( 假设名字为:myapp)

  3,  创建custom class,

      在custom class 中可以创建 function

  4,  创建 project

   要选择 COM/MTS/COM+ Component Wizard

   填写 Project 名

   选择一个 custom class

   设置 Interface Name

   设置 Program ID string 

   默认是 PB90.[custom class 的名字],我们可以修改(假设修改为PB90.cus_class7    ,这个名字就是在pb中调用时的类名)

   设置 Com Class Name 

   默认为COClass_[custom class的名字]  (假设为COClass_cus_class7   ,这个名字就是在vb中调用时的类名)

   将 Register Components Upon Successful build 选中

  5,  生成dll

   选中新创建的project,点击右键,然后点击Deploy

  这样就完成创建com的工作。

  调用方法:

1,vb中

  创建一个vb项目,添加引用 PB90 generated typelib for:myapp.dll

注意红字部分,为输出的dll文件名,一般和application名义相同。

  写代码:

    Dim  a  As   new  myapp.COClass_cus_class7
   MsgBox  a.dog

显然是通过   [application name].[Com ClassName]  来使用这个com。

2,pb中

 int    intValue   
oleobject   objOle   
objOle = create   OLEObject   
intValue = objOle.connecttonewobject( " PB90.cus_class7 " )
 if  intValue = 0   then
     string  v
    v = objOle.dog()
    Messagebox( " ss " ,v)
 end   if

显然是通过 [Program ID String]  来使用这个com的。

通过测试发现在vb和在pb中的调用方法是不一样的。

posted @ 2020-10-26 13:31  浮山山主  阅读(556)  评论(0编辑  收藏  举报