V
V88
Всем доброго времени суток!
Есть сервер на основе технологии DCOM. И ести клиент, который подключается посредством SocetConnection. Ответьте мне пожалуйста каким образом можно узнать число одновременно подключенных клиентов, а также узнать когда клиентов стало больше или меньше. Я пробовал делать следующим образом (как описано в статье
Но сервер на этапе TSrvApp.RemoteDataModuleCreate зависает намертво . Путем многих проб и усилий выяснилось, что сервер зависает из-за обращения из RemoteDataModule к форме Form1 сервера. Что делать? lease:
P.S. Гуглил два вечера , ничего стоящего кромеме выше представленнлй статьи не нашел.
Есть сервер на основе технологии DCOM. И ести клиент, который подключается посредством SocetConnection. Ответьте мне пожалуйста каким образом можно узнать число одновременно подключенных клиентов, а также узнать когда клиентов стало больше или меньше. Я пробовал делать следующим образом (как описано в статье
Ссылка скрыта от гостей
):Теперь вернемся к индикации числа подключенных к серверу клиентов. Для этого расположим на форме компонент TLabel и его свойству Caption зададим значение "0". Кроме того, опишем процедуру изменения значения счетчика. Переменная FCount содержит число подключенных к серверу клиентов. Процедура UpdateCount изменяет значение счетчика подключений.
type
При установке соединения в процедуру передается значение True, при отключении False.Код:TForm1 = class(TForm) Label1: TLabel; private { Private declarations } FCount: Integer; public { Public declarations } Procedure UpdateCount (FCon: bool); end;
Для того чтобы значения счетчика изменялост описанную процедуру необходимо поместить в события модуля RDM Create и Destroy соответственно.Код:Procedure TForm1.UpdateCount (FCon: Bool); Begin If FCon Then Inc(FCount) Else Dec(FCount); Label1.Caption:=intToStr(FCount); End;
Код:procedure TSrvApp.RemoteDataModuleCreate(Sender: TObject); begin Form1.UpdateCount(True); end; procedure TSrvApp.RemoteDataModuleDestroy(Sender: TObject); begin Form1.UpdateCount(False); end;
Но сервер на этапе TSrvApp.RemoteDataModuleCreate зависает намертво . Путем многих проб и усилий выяснилось, что сервер зависает из-за обращения из RemoteDataModule к форме Form1 сервера. Что делать? lease:
P.S. Гуглил два вечера , ничего стоящего кромеме выше представленнлй статьи не нашел.