我创建了一个框架Active X DLL,其Instancing属性设置为MultiUse,只有一个函数除了弹出一个消息框,说它已被调用之外什么都不做。
然后我创建了一个测试程序并将DLL添加到其References。
我添加了代码来声明DLL的Classmodule的一个变量,以创建一个新对象并调用该函数。
在所有情况下我都使用了Intellisense代码完成,所以VB6肯定是关于DLL的,它的类和&方法
但是,当我运行测试程序时,它会在尝试创建New对象时报告运行时“错误91对象变量或未设置块变量”。
这对我来说是一个新的领域,所以希望它是显而易见的。
更新:我在DLL fn()中添加了一个消息框,说它已被调用,然后进入一个真实的网站,使用Active X调用DLL并看到消息框 - 但我仍然在VB测试器应用程序中获取错误(!?)
答案 0 :(得分:1)
尝试更改活动x dll中的函数以返回消息。在您的主叫代码中显示您的消息框,而不是在dll中。
否则,请在命令提示符下尝试regsvr32“myDll.dll”,然后运行您的代码。
答案 1 :(得分:1)
如果您可以发布调用代码和DLL类,那么找到问题会更容易。
这是一个猜测。您是否记得创建新对象的行上的Set
?
更正代码
Set obj = New MyDLL.MyObject
代码不正确
obj = New MyDLL.MyObject