在我已經加入參考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