在我已经加入参考COM DLL一个VB6项目:C:\ Windows \ System32下\ locationapi.dllCOM对象:用户定义的类型没有定义
下面的代码工作得很好且对象的方法/属性可以正确访问:
Public civicfactory
Set civicfactory = CreateObject("LocationDisp.CivicAddressReportFactory")
但是,它的事件不起作用 - 我无法捕捉它们。我想我需要声明这样的对象:
Public WithEvents civicfactory As LocationDisp.CivicAddressReportFactory
但是这给了我在这一行的错误“用户定义类型未定义”。
任何人都可以告诉我为什么这么说,而第一个代码工作得很好吗?
正如我的目的是让事件处理工作,你可以指出我的代码所缺少任何错误或任何东西:
Public civicfactory
Private Sub civicfactory_NewCivicAddressReport(report)
MsgBox "New civic address report arrived"
DisplayCivic (report)
End Sub
Set civicfactory = CreateObject("LocationDisp.CivicAddressReportFactory")
civicfactory.ListenForReports (1000)
类似的代码可在VBScript,但我不能让它在VB 6个工作 - 事件处理程序永远不会被调用。
在此先感谢!
看到IDE在上面的“ListenForReports”之后插入的空格?它对你说:“这里不应该有括号,你知道你在做什么吗?” – Bob77 2011-04-29 05:19:09
正确的名称应该类似于LocationApiLib.CivicAddressReportFactory – 2011-04-30 19:46:01