热情软件屋

 

能否使ActiveX DLL库在引用后直接以“函数名”的方式使用


编号:QA002777
建立日期: 2000年3月27日 最后修改日期:2002年1月20日
所属类别:

cx:
    操作系统:Pwin98,编程工具:VB5企业版
    我在VB5的菜单“工程”-->“引用”和“对象浏览器”中发现原来VB的内部函数都是从动态库VBA5.DLL中引用而来,所以对于VB的内部函数都可以通过“函数名”或“VBA.函数名”来使用,如VAL()==VBA.VAL()。但是我自己做的 ActiveX DLL 库只能先 Dim XX As New Class1,再用 “XX.函数名” 的方式来引用,在“对象浏览器”中进一步发现,VBA库中的所有函数等既都可在“全局”中看到,又可在相应的类及模块中看到,而我做的 DLL 中的函数只能在相应的类及模块中看到,“全局”中什么也没有,我想,这大概就是为什么我做的 ActiveX DLL 库只能用“库名。函数名”的方式来引用的原因吧!
    问题:我该怎么做才能使我做的 ActiveX DLL 库在引用后像VBA的函数一样能无须事先定义个变量,而直接能以“函数名”的方式来使用。

回答:

    这是可以实现的。只需将ActiveX DLL中包含所需函数的类模块的属性设置为“GlobalMultiUse”即可。
    
    szanron问:
    我想像调用VC的DLL文件一样调用,请问可行吗?如Public Declare Function AbortDoc Lib "gdi32" Alias "AbortDoc" (ByVal hdc As Long) As Long
    答:不行,VB无法生成标准的DLL。

此问题由施凡回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio