在VB.NET项目中设置COM DLL的INTPTR值



我的任务是编写一个vb.net库与一块vb6应用程序进行交互。该VB6应用程序提供了一些不受管理的com dll。

我创建了Interop类型(通过使用TLBIMP),并将其添加为我的VB.NET项目中的参考。

好吧,还有一个现有的旧VB6项目(库),它也引用了(本地)com dll,让我们称呼它们 COM1.dllCOM2.dllCOM3.dll。这个旧项目的"类模块"称为 claMod,在此执行以下操作:

    Option Explicit
    Public Property Set GlobalProp(oObj As claClass1)
            Set COM1.MyPointer = oObj
            Set COM2.MyPointer = oObj
    End Property

其中claClass1COM3中的一类,COM1.MyPointerCOM2.MyPointer是类型System.IntPtr

我的问题是:如何在不声明相应对象的情况下设置这两个指针(COM1和COM2的实例)?其次,我该如何在我的新vb.net库中执行相同的操作?

允许参考com1和com2的参考,而无需特别实例化,请将每个类的即刻属性设置为GlobalMultiuse。然后,您在帖子中使用的代码将不必创建对其的参考。

在VB6环境中已经运行了许多此类对象。Screen对象是一个熟悉的示例。

这基本与在vb.net中声明Shared类或C#中的static类相同。

最新更新