У меня есть модуль Excel VBA, вызывающий dll C # COM.
Иногда возникает несоответствие типов при прохождении отладчика в VBA, когда я инициализирую COM-объект следующим образом.
If (IsEmpty(cm)) Then
Set cm = CreateObject("aimd.CMAdaptor")
End If
Я могу добавить точку останова в VBA и добавить часы в переменную cm, и посмотреть, что тип не соответствует тому, что я создал. Тип предназначен для свойства внутри объекта, который я пытаюсь создать. Указанный объект был явно создан моим объектом "aimd.CMAdaptor", который я создал, я просто не получаю указанный мной корневой объект, только дочерний.
Так как это COM-объект, мне интересно, могут ли мои обновления использовать несовпадающие данные регазма или что-то, что заставляет его искать объект в неправильном месте. Я постоянно перестраиваю его для отладки и добавляю в установщик, который вызывает regasm как действие сборки.