Вниз
Скачать: CL | DM;

Отключение от сервера атоматизации из программы   Найти похожие ветки 

← →
Sectey ©   (2004-09-09 10:31) [0]

Добрый день.
Как происходит отключение от сервера автоматизации из программы. У меня по чему-то отключается (т.е. сервер автоматизации закрывается) только по выходу из клиентской программы.


← →
VMcL ©   (2004-09-09 15:16) [1]

Код в студию.


← →
Sectey ©   (2004-09-09 15:55) [2]

описания стока события


 TSrvAutoSink = class(TObject, IUnknown, IDispatch)
 private
   FController: TClient;
   { IUnknown }
   function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
   function _AddRef: Integer; stdcall;
   function _Release: Integer; stdcall;
   { IDispatch }
   function GetTypeInfoCount(out Count: Integer): HResult; stdcall;
   function GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): HResult; stdcall;
   function GetIDsOfNames(const IID: TGUID; Names: Pointer;
     NameCount, LocaleID: Integer; DispIDs: Pointer): HResult; stdcall;
   function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
     Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult; stdcall;
 public
   constructor Create(Controller: TClient);
 end;


объявление переменных


   FServer: ISrvAuto;
   FSrvAutoSink: TSrvAutoSink;
   FCookie: Integer;


запуск сервера автоматизации на клиенте


procedure TClient.Start;
var
 ActiveObj: IUnknown;
begin
 FSrvAutoSink := TSrvAutoSink.Create(Self);
 GetActiveObject(Class_SrvAuto, nil, ActiveObj);
 if ActiveObj <> nil then
   FServer := ActiveObj as ISrvAuto
 else
   FServer := CoSrvAuto.Create;

 InterfaceConnect(FServer, ISrvAutoEvents, FSrvAutoSink, FCookie);
end;


деструктор клиента


destructor TClient.Destroy;
begin
 InterfaceDisconnect(FSrvAutoSink, ISrvAutoEvents, FCookie);
 FSrvAutoSink.Free;
 FServer := nil;
 inherited;
end;


← →
VMcL ©   (2004-09-10 12:33) [3]

>>Sectey ©  (09.09.04 15:55) [2]

Судя по коду, если TClient.Destroy вызывается только при завершении клиентской программы, то так и должно быть, поскольку FServer освобождается только там.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.031 c
6-1112101349
Макс Т.
2005-03-29 17:02
2005.06.29
Автозаполнение и Twebbrowser


3-1116589157
ZakJ
2005-05-20 15:39
2005.06.29
Помогите пожалуйста с запросом!


14-1117721784
able
2005-06-02 18:16
2005.06.29
php &amp;&amp; rtf


1-1118288871
TUser
2005-06-09 07:47
2005.06.29
Глюк консольного компилятора?


3-1116000911
NikNet
2005-05-13 20:15
2005.06.29
А как подключится к MSSQL или там работать с MSSQL на WinAPI?




   Наверх