сейчас вот тоже страдаю с этим же самым COM объектом. Спасибо большое. Сэкономили кучу времени и нервов. Потому как linkTest у меня тоже не работал.
Только вот теперь другая проблема.. Пытаемся добавить запись. Описание функции из VBA
Function
AddRecord(nTsdFieldCount As Integer, Field1, Field2, Field3, Field4, Field5, Field6, Field7, Field8) As Integer
есстественно вот это не работает
X++:
com.AddRecord(3,"123","1","0")
Метод 'AddRecord' в COM-объекте класса 'ScCt.Cpt' возвратил код ошибки 0x80020005 (DISP_E_TYPEMISMATCH), который означает: Один или большее количество аргументов не мог быть преобразовано.
похоже придется опять что-то шаманить с variantom.
навскидку
X++:
ComVariant var2 = new ComVariant(ComVariantInOut::In, ComVariantType::VT_Variant);
ComVariant var3 = new ComVariant(ComVariantInOut::In, ComVariantType::VT_INT);
var3.int(3);
var2.variant(var3);
Cpt.AddRecord(var2,"1","0");
не прошло...
теперь вот думаю как получить IDL прототипа? а?