Реферат: Обратные вызовы в MIDAS через TSocketConnection

public

constructor Create(AOwner: TrdmMain);

destructor Destroy; override;

procedure CallOtherClients(const MsgStr: WideString);

function OnCall(const MsgStr: WideString): BOOL;

property ClientIntf: IBackCallDisp read FClientIntf write FClientIntf;

property Owner: TrdmMain read FOwner write FOwner;

end;

Экземпляр этого класса создается и уничтожается rdmMain (в обработчиках OnCreate и OnDestroy). Ссылка на него сохраняется в переменной TrdmMain.FCallBackStub, при этом класс сразу вставляется в список:

procedure TrdmMain.RemoteDataModuleCreate(Sender: TObject);

begin

//Сразу делаем оболочку для callback-интерфейса

FCallbackStub := TCallBackStub.Create(Self);

//И сразу регистрируем в общем списке

CallbackList.Add(FCallBackStub);

end;

procedure TrdmMain.UnregisterStub;

begin

if Assigned(FCallbackStub) then

begin

CallbackList.Remove(FCallbackStub);

FCallBackStub.ClientIntf := nil;

FCallBackStub.Free;

FCallBackStub := nil;

end;

end;

procedure TrdmMain.RemoteDataModuleDestroy(Sender: TObject);

begin

UnregisterStub;

К-во Просмотров: 512
Бесплатно скачать Реферат: Обратные вызовы в MIDAS через TSocketConnection