Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2013, 12:20   #1
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию Позднее связывание в COM сервере

Сразу скажу я в этом не сильно разбираюсь - так что сильно не пинайте.

Смотрите есть такой интерфейс
Код:
 IWordConnection = interface(IDispatch)
    ['{8408CE3E-E487-479A-B4DA-193A0E554EB0}']
    function Get_Item: OleVariant; safecall;
    procedure Set_Item(Value: OleVariant); safecall;
    function Get_Value: WideString; safecall;
    procedure Set_Value(const Value: WideString); safecall;
    procedure Open(const Val: WideString); safecall;
    property Item: OleVariant read Get_Item write Set_Item;
    property Value: WideString read Get_Value write Set_Value;
  end;
есть такой класс
Код:
  TWordConnection = class(TAutoObject,IDispatch, IWordConnection)
  protected
    function Get_Item: OleVariant; safecall;
    function Get_Value: WideString; safecall;
    procedure Set_Item(Value: OleVariant); safecall;
    procedure Set_Value(const Value: WideString); safecall;
    procedure Open(const Val: WideString); safecall;
      { IDispatch }
    function GetIDsOfNames(const IID: TGUID; Names: Pointer;
      NameCount, LocaleID: Integer; DispIDs: Pointer): HResult; virtual; stdcall;
    function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult; virtual; stdcall;
  end;
Можно ли при помощи метода Позднего связывания(function GetIDsOfNames, Invoke) сделать такую конструкцию
Код:
V := CreateOleObject('ltd.WordConnection');
V.Item.Value := 10;
Интересует вот эта строка
Код:
V.Item.Value := 10;
Item - тип OleVariant и после него вызвать property Value этого же класса что и Item?

Я пробывал в Item заходит, а дальше вываливается с ошибкой, даже в GetIDsOfNames не заходит.
lexaltd вне форума Ответить с цитированием
Старый 01.11.2013, 12:24   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ну так а Item из воздуха материализовался?
eval вне форума Ответить с цитированием
Старый 01.11.2013, 12:32   #3
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
ну так а Item из воздуха материализовался?
Не понял?
Можно подробней.

Код:
 property Item: OleVariant read Get_Item write Set_Item;
lexaltd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel-Autocad позднее связывание gsg Microsoft Office Excel 6 21.10.2013 16:58
meta-дата и позднее связывание Voipp C# (си шарп) 1 04.07.2013 18:03
Позднее связывание и полиморфизм Delphi iCaesy Помощь студентам 14 09.10.2011 23:55
Позднее связывание _Art_ Общие вопросы C/C++ 1 19.12.2009 12:53