Вниз
Скачать: 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.013 c
15-1185970305
max999
2007-08-01 16:11
2007.09.02
как удалить файл?


9-1159426582
benusi
2006-09-28 10:56
2007.09.02
учебник по OpenGL


3-1178529064
bss
2007-05-07 13:11
2007.09.02
Как присвоить blob-полю значение NULL?


2-1186399521
AlinaVK
2007-08-06 15:25
2007.09.02
constraint


2-1186512652
nord489
2007-08-07 22:50
2007.09.02
Врещения изображения




   Наверх