1)Register control是不是只能引入ActiveX DLL??? 你可以使用ActiveX Control Pad看看...
2)不注册在ASP中应该是不能使用的, 因为程序找不到CLSID, 也就造不到成员函数...
3)VC++调用DLL必须要有.H文件, 因为他要引出这些函数, VC好像还没有这么智能...
4, 5)VB我不是很熟悉...
2)不注册在ASP中应该是不能使用的, 因为程序找不到CLSID, 也就造不到成员函数...
3)VC++调用DLL必须要有.H文件, 因为他要引出这些函数, VC好像还没有这么智能...
4, 5)VB我不是很熟悉...
只是VB中别忘了声明喔!:-)
自注册的要提供两个用于注册的入口函数DllRegisterServer和DllUnregisterServer
对于非自注册的Dll(你写的)要单独对注册信息在注册表中来配置.(说起来太累)
VC中用ATL Com AppWizad可以生成自注册的,VB的AciveX向导也可以生成.
你的dll是怎么生成的.
3)不要.H也可以,不过使用起来要麻烦一点.
a. LoadLibray b. GetProcessAddress c. 使用 d. FreeLibray
用这种方法你自己要知道dll的输出函数.
Dll的头文件是告诉要使用的此dll的程序此dll输出了那些函数.否则程序自己怎么
知道.比如写一个dll,你要用此dll,用静态联编,你是知道此dll输出了什么,可是
你的程序不知道呀.所以要用dll的.h来告诉你的程序.
同样,如果你用其他的语言来使用此dll,要用不同的语言来告诉你的程序此dll
的输出.如Delphi中要写一个.pas 来写出此dll的输出,用pascal的语法.
vb用VB的语法,等等.
3)DLL的调用在VC中有两种方式,一是需.H和.lib是静态调用,二是用Loadlibrary()是只要有DLL即可。
5)VB,PB中调用VC写的DLL与调用WINDOWS API函数的方式一样,不过要将系统DLL的名称该为VC编的DLL的名称。
1:你的DLL是第二种。
2,4:必须把它改写为 ActiveX。
3: 如果没有*.H C编译器无法工作。
5:如果是第一种DLL, 那和User32.dll用法一样。VB中不要*.h 但要Declare。如果是ActiveX DLL就只需要CreateObject后直接使用就行了,当然如果在非asp环境中使用出于性能考虑最好引用一下实现前期绑定。