Потребитель .NET ActiveX, выбрасывающий TargetParameterCountException - PullRequest
2 голосов
/ 07 мая 2010

У меня есть приложение .NET (3.5 с Dev Studio 2008), в котором размещается визуальный Active X (написанный на C ++ с Dev Studio 2003). Иметь доступ ко всем источникам, но не может легко перенести элемент управления Active X до 2008 года.

Это так же хорошо работало в прошлом. Внесены некоторые изменения в элемент управления Active X, и теперь при вызове одного метода в Active X я получаю исключение TargetParameterCountException в 100% случаев. Подпись метода Active X:

LONG CMyActive::License(LPCTSTR string1, LPCTSTR string2, LONG long1, LPCTSTR string3, LPCTSTR string4);

При просмотре метода в обозревателе объектов рефлектора .NET видит его как:

public virtual int License(string string1, string string2, int long1, string string3, string string4)

Я переименовал параметры в демонстрационных целях (босс раздражается из-за любого кода). Я оставил название метода, так как оно может быть уместным.

До этой работы есть вызовы методов. Я просто не могу понять, почему я вдруг получаю это исключение. HRESULT - 0x8002000e, и быстрый поиск показывает, что он является общим.

Спасибо всем за чтение.

Редактировать

Спасибо за указатели. Есть некоторый комфорт, зная, что другие озадачены. Странно, что это сработало. Это поведение возникло после перестроения Active X. Нет интерфейса или других изменений IDL. И это на нескольких машинах, а не только на одном устройстве разработчика или около того.

Редактировать 2

Для S & G я добавил новый метод,

LONG CMyActive::XXXLicense(LPCTSTR string1, LPCTSTR string2, LONG long1, LPCTSTR string3, LPCTSTR string4);

Перестроил все, и теперь я могу вызвать новый метод ... Это пахнет как ошибка в компиляторе и / или на уровне взаимодействия COM .NET.

1 Ответ

1 голос
/ 07 мая 2010

HRESULT DISP_E_BADPARAMCOUNT (лучше для поиска в Google, чем "0x8002000e").

Похоже, другие люди столкнулись с этой проблемой:

http://www.codeguru.com/forum/showthread.php?t=96353

http://forums.devx.com/showthread.php?t=85215

...