Object Doesn't Support Automation
От: Den Socratov Россия  
Дата: 12.05.05 09:00
Оценка:
Привет всем,

создал я объект через CreateObject, успешно вызвал несколько его методов, а при вызове очередного метода VBScript заявляет "Object Doesn't Support Automation". Как такое может быть, если уж объект не поддерживает, то не поддерживает совсем?
Кстати, объект этот .NET-овский, зарегистрирован regasm-ом для использования COM.

Спасибо всем
Re: Object Doesn't Support Automation
От: al Россия  
Дата: 12.05.05 13:26
Оценка:
А какие типы параметрыов у метода, при вызове которого происходит ошибка?

Automation поддерживает только типы, совместимые с VARIANT.


Re: Object Doesn't Support Automation
От: al Россия  
Дата: 12.05.05 13:27
Оценка:
Можно подключить ссылку на библиотеку типов к VB6, нажать F2 и он покажет, что там не совместимо с Automation.


Re[2]: Object Doesn't Support Automation
От: Den Socratov Россия  
Дата: 12.05.05 14:14
Оценка:
Здравствуйте, al, Вы писали:

al>А какие типы параметрыов у метода, при вызове которого происходит ошибка?


al>Automation поддерживает только типы, совместимые с VARIANT.


Если брать исходный ,NET-класс, то это IntPtr(HWND), int и 2 string-а
Может, hwnd как-то по хитрому используется? Я в vb новичок
Re[3]: Object Doesn't Support Automation
От: al Россия  
Дата: 12.05.05 14:35
Оценка:
Посмотри, какой IDL покажет Ole2View, так будет яснее.


Re[3]: Object Doesn't Support Automation
От: Den Socratov Россия  
Дата: 12.05.05 14:36
Оценка:
Здравствуйте, Den Socratov, Вы писали:

DS>Если брать исходный ,NET-класс, то это IntPtr(HWND), int и 2 string-а

DS>Может, hwnd как-то по хитрому используется? Я в vb новичок

Допер! HWND бейсик как объект воспринял, а я его пытался как 0 передать. Поставил Nothing и завелось
Re[4]: Object Doesn't Support Automation
От: al Россия  
Дата: 12.05.05 14:51
Оценка:
Вообще, для VB6/VBScript HWND это LONG или OLE_HANDLE


Re[5]: Object Doesn't Support Automation
От: Den Socratov Россия  
Дата: 13.05.05 06:41
Оценка:
Здравствуйте, al, Вы писали:

al>Вообще, для VB6/VBScript HWND это LONG или OLE_HANDLE


Я тоже так думал, поэтому сразу и не догадался
А вообще-то "виноват" COMInterop. А так как в tlb нет методов, только IDispatch, то я и не увидел сразу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.