Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];

Вниз

управление через 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 вся ветка

Форум: "Corba";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.045 c
15-1186512073
Loginov Dmitry
2007-08-07 22:41
2007.09.02
Баг в Delphi (от 7 до 2007) с условной компиляцией


15-1186115317
Alarm
2007-08-03 08:28
2007.09.02
С днем рождения Yakudza


15-1186524930
Суслик
2007-08-08 02:15
2007.09.02
За что уважаю Led Zeppelin


15-1186155796
@!!ex
2007-08-03 19:43
2007.09.02
Как считать блик?


1-1178203465
kirajax
2007-05-03 18:44
2007.09.02
Объекты в RTF





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский