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

DELPHI+CORBA+CALLBACK Самоуничтожение объекта   Найти похожие ветки 

← →
ShimA   (2003-12-10 15:16) [0]

Серверная часть написана на Visual C++. Клиентская часть на Delphi.
При вызове метода некого обьекта, серверу передается объект созданный
клиентом.
Для обратной связи сервер должен вызывать методы этого объекта.
Все работает но только до момента выходя из процедуры в которой вызывается
метод. Созданный клиентом для обратной связи объект самоуничтожается и
естественно на сервере при попытке вызвать методы этого объекта возникает
exception.
Ниже привожу код. (Delphi7)

// THi1MsgGetVersionSkeleton = class(CORBA.TCorbaObject,
SOSM_HI1ConsumerInterface_i.Hi1MsgGetVersion)
// THi1MsgGetVersion = class(TInterfacedObject,
SOSM_HI1ConsumerInterface_i.Hi1MsgGetVersion)

var TVerMsg:SOSM_HI1ConsumerInterface_impl.THi1MsgGetVersion;
    VerMsg :SOSM_HI1ConsumerInterface_s.THi1MsgGetVersionSkeleton;
procedure  GetSN;
begin

 TVerMsg:=SOSM_HI1ConsumerInterface_impl.THi1MsgGetVersion.Create;
 VerMsg :=
SOSM_HI1ConsumerInterface_s.THi1MsgGetVersionSkeleton.Create("Hi1MsgGetVersi
onSkeleton", TVerMsg);

 BOA.SetScope(RegistrationScope(0));
 BOA.ObjIsReady(VerMsg as _Object);

 Client.ConsumerInterface.hi1interface.get_version_sn(VerMsg);
end;

Все чудестно работает и сервер может вызывать методы класса  VerMsg до
момента выхода из процедуры "GetSN"
Увелечение ссылок на обьект ни к чему не привело.


← →
Cobalt ©   (2004-02-01 00:42) [1]

1) Объявить VerMsg как var?
2) Создать коллекцию для этих объектов?



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

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



Память: 0.45 MB
Время: 0.022 c
6-1097682013
Alexis
2004-10-13 19:40
2004.12.26
Проблема с RECV


1-1102691235
Ольга
2004-12-10 18:07
2004.12.26
Почему плодятся процессы EXCEL.EXE (D6, Excel 2000)


1-1102951836
Fin
2004-12-13 18:30
2004.12.26
DLL в панели задач.


14-1102069619
andsoft
2004-12-03 13:26
2004.12.26
Нужен человек для написания отладчика


4-1100107270
frEEstyler
2004-11-10 20:21
2004.12.26
открыть файл с помощью мною созданной программы




   Наверх