这样子的(我个人理解,现在没装MSDN): 简单来讲,一般VB程序调DLL可以有两种调用方式:前期绑定和后期绑定。前期绑定是指把DLL的对象实例加入到(用“加入到”这个词不知合不合试。。)主程序的进程中执行,这样它和在主工程里创建类并创建类的实例的方式和效率是一样的,比如代码是这样: dim objMyClass as MyDll.clsMyClass'这里的MyDll是一个activex dll,clsMyClass是它的一个类成员 set objmyclass=new mydll.clsmyclass'创建实例 ... 使用前期绑定的方法必须在工程中引用DLL,否则会出错。 再来说说后期绑定,是指在程序调用DLL时,将会创建一个进程来执行而不是加入到主程的进程中(这是简单理解,具体的机制我也不了解)。这样调用DLL可以不在工程里引用这个DLL,但是跨进程的调用效率是比较低的(相比前期绑定),代码是这样: dim objMyClass as object set objmyclass=createobject("MyDll.clsMyClass") ... MS在MSDN中告诉我们在VB中调用activex dll最好使用前期绑定的方式。
是什么意思???
简单来讲,一般VB程序调DLL可以有两种调用方式:前期绑定和后期绑定。前期绑定是指把DLL的对象实例加入到(用“加入到”这个词不知合不合试。。)主程序的进程中执行,这样它和在主工程里创建类并创建类的实例的方式和效率是一样的,比如代码是这样:
dim objMyClass as MyDll.clsMyClass'这里的MyDll是一个activex dll,clsMyClass是它的一个类成员
set objmyclass=new mydll.clsmyclass'创建实例
...
使用前期绑定的方法必须在工程中引用DLL,否则会出错。
再来说说后期绑定,是指在程序调用DLL时,将会创建一个进程来执行而不是加入到主程的进程中(这是简单理解,具体的机制我也不了解)。这样调用DLL可以不在工程里引用这个DLL,但是跨进程的调用效率是比较低的(相比前期绑定),代码是这样:
dim objMyClass as object
set objmyclass=createobject("MyDll.clsMyClass")
...
MS在MSDN中告诉我们在VB中调用activex dll最好使用前期绑定的方式。