Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.02;
Скачать: 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 вся ветка

Текущий архив: 2007.09.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
2-1186495868
SLesya
2007-08-07 18:11
2007.09.02
dll/bpl + отладчик


10-1136807222
yanker
2006-01-09 14:47
2007.09.02
управление через OLE


15-1186394190
palva
2007-08-06 13:56
2007.09.02
Снимок дня


4-1173165948
vir
2007-03-06 10:25
2007.09.02
Получить хенл окна имеющего фокус.


15-1186073298
Kerk
2007-08-02 20:48
2007.09.02
wget ?