不注册直接调用ActiveX DLL
(创建时间:2012年04月26日 22:21:00)
Jangogo : 


4FNexus 和 其他一些后期的 4Fang产品 都使用了一种 “不注册直接调用ActiveX DLL” 的关键技术。

在你的应用程序的跟目录下 新建一个 sys 的文件夹,把 dcom.dll (4FNexus的sys中有这个文件)拷贝到sys文件夹里

'在一个模块里面 加入以下声明代码:

'******** Obj-Instantiation without using the registry *********

Declare Function GETINSTANCE Lib "sys\dcom" (FName As String, ClassName As String) As Object

Declare Function GETINSTANCELASTERROR Lib "sys\dcom" () As String 'if GETINSTANCE returns Nothing

'要使用的时候,调用如下:

on error resume next

dim o as object

set o=GETINSTANCE(App.Path & "\sys\mydllfile.dll", "MyClassName")

'如果出错了就显示出错信息,一般我们不会显示这个信息给用户

if o is nothing then msgbox GETINSTANCELASTERROR()

文档中心