| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > получить тип Ole значения в Variant |
| Автор: evgeny 24.8.2002, 20:40 |
| Для работы из дельфи с Оffice-приложениями использую тип Variant. var WordApp : Variant ; WordApp := CreateOleObject ('Word.Application') ; Каким образом узнать , значение какого Ole-типа храниться в переменной Variant. Например: var WishType : String ; WishType := ЖелаемаяФункция(WordApp) ; --------------------------------------------- Результат: WishType = 'Word.Application' ; |
| Автор: Fantasist 25.8.2002, 11:40 |
| Впрямую никак. В Variant всего лишь сохраняется указатель на интерфейс IDispatch. |
| Автор: Dapo 26.8.2002, 12:50 |
| не совсем то, что нужно, но думаю отсюда можно плясать: .... var MyApp:Variant; .... MyApp:=CreateOleObject('Word.Application'); .... function GetAppName(App:Variant):string; begin Result:=App.Name; end; В данном случае возвратит 'Microsoft Word'. Тривиально? Естесственно будет работать только если переменная - Automation Object иначе - исключение. |
| Автор: Fantasist 27.8.2002, 11:08 | ||||
Ага, а если объект поддерживает метод/проперти Name в каком-то своем контексте(а может и вообще не поддерживать), и возвратит овощь его знает что? Да и использовать такое имя довольно муторно и не надежно. Я думаю плясать надо от создания класса. Типа:
|