![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по СОМ объектам... [D7, XP]
fisherman © (2007-06-08 11:21:00)Всем привет!
Дело в следующем. Создаю сервер, в нем должна быть функция возвращающая результат, а Automation Object мне постоянно прописывает ее процедурой, и ещё, когда я в интерфейсе прописываю новый метод, на закладке Атрибуты мне не доступны ни Type ни Invoke Kind... Как мне заставить делфи в интерфейсе писать слово function?
fisherman (2007-06-08 12:45:00) [1]Ладно, спасибо всем отклинувшимся, разберусь:)
Однокамушкин (2007-06-08 12:17:00) [2]
> fisherman © (08.06.07 12:07) [7]
Как возвращать результаты через var-парамтеры в обычных процедурах Delphi, знаете? Здесь почти то же самое, только вместо var после типа ставится звёздочка и указывается атрибут out...
fisherman (2007-06-08 12:07:00) [3]
> BSTR*, long* и т.д.
а я практически все перепробовал - выдает что возвращаемый тип должен быть указан как HRESULT
Loginov Dmitry (2007-06-08 11:55:00) [4]А нафик вообще нужно с этими настройками мучаться? Есть же простая команда Edit | Add To Interface.
clickmaker (2007-06-08 11:50:00) [5]
> [3] fisherman © (08.06.07 11:44)
не надо так все буквально понимать.
Pointer означает, что это указатель, а тип - тот, который тебе нужен. BSTR*, long* и т.д.
fisherman (2007-06-08 11:45:00) [6]
> Так и надо было сразу создавать объект Automation Object
> а не COM Object.
а я его и создаю сразу, может просто выразился неправильно
fisherman (2007-06-08 11:44:00) [7]
> Parameters - Modifiers - out, retval ?
> и тип должен быть pointer (со звездочкой)
Когда я устанавливаю out, retval делфи ругается что тип должен pointer, но я не нахожу такого типа ни со звездочкой ни без...
Loginov Dmitry (2007-06-08 11:35:00) [8]Так и надо было сразу создавать объект Automation Objectа не COM Object.
clickmaker (2007-06-08 11:29:00) [9]в type lib
Parameters - Modifiers - out, retval ?
и тип должен быть pointer (со звездочкой)