Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: CL | DM;

Вниз

TClientSocket и TServerSocket в одной процедуре   Найти похожие ветки 

 
Юрий   (2002-10-24 21:14) [0]

Привет!
Как получить буфер в компоненте?
Даже точнее - как сделать так чтобы отправлялся буфер и принимался через сокет в одной процедуре в компоненте. У меня он вроде как отправляется, но не принимается. По всей видимости, здесь надо отловить какое-то событие.

Ход мыслей такой:

В програме:
type
TForm1 = class(TForm)
MyComp: TMyComp;
....................
procedure TForm1.button1click(Sender : tobject);
begin
MyComp.ExecQuery;
end;

В компоненте
type
TMyComp = class(TComponent)
S : TClientSocket;
..............................

procedure S.ExecQuery;
begin
.......
S.Port:=...
S.Address:=...
If not S.Active then S.Active:=true;
While not S.Active do Application.ProcessMessages;
S.Socket.SendBuf(Buf,N);

здесь что-то должно быть...

N:=S.Socket.ReceiveLength;
S.Socket.ReceiveBuf(Buf,N);
end;

Спасибо.


 
TTCustomDelphiMaster ©   (2002-10-24 22:12) [1]

Если делаль по нормальному то S.Socket.ReceiveBuf(Buf,N); нужно вызывать в обработчике OnClientRead.
Если в одной процедуре, то в обработчике OnClientRead, включайте флаг, а вместо "здесь что-то должно быть..." опрос этого флага в цикле, с вызовом Application.ProcessMessages.


 
Юрий   (2002-10-25 00:03) [2]

Не совсем понятно...
Так или иначе, но OnClientRead все равно используется вне процедуры. А в компоненте же нет главного цикла. Как же тогда его использовать в компоненте?



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-11156
AlexeyMir
2002-10-24 14:12
2002.11.04
Hint на Scrole


1-11276
bearoman
2002-10-23 12:00
2002.11.04
Нужены компоненты графические (датчиков, градусников)


4-11554
Slym
2002-09-23 07:19
2002.11.04
Где и как хранить данные ассоциированные с определенным окном


14-11445
Юра
2002-10-14 15:10
2002.11.04
Где взять архивы форумов?


7-11495
partizan
2002-08-29 12:23
2002.11.04
Запуск внешних приложений