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

управление через OLE   Найти похожие ветки 

 
yanker   (2006-01-09 14:47) [0]

Есть сервис, необходимо управлять им. Далаю сервис сервером OLE и хочу получить значения переменных управления из сервиса. Однако ничего не возвращается. Почитал инфы, оказывается при создании OLE объекта ф-ией CreateOleObject создается экземпляр, который не может получить доступ к переменным и функциям приложения. Как быть?


 
GanibalLector ©   (2006-01-09 18:07) [1]

Дык, создайте нужные Вам свойства и методы и свяжите их с переменными приложения.


 
yanker   (2006-01-10 10:59) [2]

дело в том, что сервер у меня является еще и corba сервером и при создании объекта для управления у меня запускается новая копия сервиса


 
yanker   (2006-01-10 11:51) [3]

Текст файла TLB

IRControl = interface(IDispatch)
   ["{41C544FA-ACC0-4A65-83E2-78A5AE16731B}"]
   function GetPort: TDateTime; safecall;
 end;

// *********************************************************************//
// DispIntf:  IRControlDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {41C544FA-ACC0-4A65-83E2-78A5AE16731B}
// *********************************************************************//
 IRControlDisp = dispinterface
   ["{41C544FA-ACC0-4A65-83E2-78A5AE16731B}"]
   function GetPort: TDateTime; dispid 1;
 end;

 TRControlStub = class(TCorbaDispatchStub, IRControl)
 public
   function GetPort: TDateTime; safecall;
 end;

 TRControlSkeleton = class(TCorbaSkeleton)
 private
   FIntf: IRControl;
 public
   constructor Create(const InstanceName: string; const Impl: IUnknown); override;
   procedure GetImplementation(out Impl: IUnknown); override; stdcall;
 published
   procedure GetPort(const InBuf: IMarshalInBuffer; Cookie: Pointer);
 end;

И в initialization
CorbaStubManager.RegisterStub(IRControl, TRControlStub);
 CorbaInterfaceIDManager.RegisterInterface(IRControl, "IDL:mapper_server/IRControl:1.0");
 CorbaSkeletonManager.RegisterSkeleton(IRControl, TRControlSkeleton);

Хотя когда создаешь ole automation сервер в отдельном приложении, ничего такого нет?



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

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



Память: 0.45 MB
Время: 0.019 c
2-1186662007
Gamer
2007-08-09 16:20
2007.09.02
работа с Firebird из Delphi 2006


15-1186037896
Knight
2007-08-02 10:58
2007.09.02
Хочу пойти учиться заочно...


10-1136587080
levry
2006-01-07 01:38
2007.09.02
Excel: прозрачный Shape


2-1186909904
loeg
2007-08-12 13:11
2007.09.02
Два вопроса


2-1186495868
SLesya
2007-08-07 18:11
2007.09.02
dll/bpl + отладчик




   Наверх