簡體   English   中英

初始化COM對象時類型不匹配

[英]Type mismatch when initializing a COM object

我有一個調用C#COM dll的Excel VBA模塊。

有時,當我按照以下步驟初始化COM對象時,在VBA中逐步調試程序時,會遇到類型不匹配的情況。

If (IsEmpty(cm)) Then
    Set cm = CreateObject("aimd.CMAdaptor")
End If

我可以在VBA中添加一個斷點,並將監視添加到cm變量中,然后查看類型與我實例化的類型不匹配。 該類型用於我要創建的對象內的屬性。 指向的對象顯然是由我實例化的“ aimd.CMAdaptor”對象創建的,只是沒有得到我指定的根對象,只有子對象。

由於這是一個COM對象,所以我想知道我的更新是否使用不匹配的重排數據或某種導致其在錯誤位置查找對象的東西。 我一直在不斷重建它以進行調試,並將其添加到一個調用regasm的安裝程序中,以作為構建操作。

原來是一個愚蠢的錯誤...我正在復制允許您選擇在VBA端看到的類名稱的屬性...

[ProgId(“ aimd.CMAdaptor”)]

它位於兩個不同的類中。 顯然,這樣做時無需抱怨。 我不知道為什么要選擇另一個,但是在更新了不正確的屬性后,一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM