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

TClientSocket в компоненте   Найти похожие ветки 

 
Юрий   (2002-10-24 05:31) [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;

Спасибо.


 
Bsl   (2002-10-24 07:56) [1]

Чтобы все в одной процедуре - надо синхронный connection type, кроме того, нужно создавать отдельный thread для чтения.
Если асинхронный тип, то надо отлавливать событие OnXXXX[Read|Write] - в зависимости от клиента/сервера. Кроме того, нужно включать в передаваемый поток служебныю информацию, т.к. при асинхорнном соединении данные приходят кусками.


 
Юрий   (2002-10-24 09:34) [2]

Есть ли какая-нибудь ссылка или код, что бы посмотреть на это?


 
Юрий   (2002-10-24 20:52) [3]

Так что,никто не может мне помочь в этом вопросе?



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

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



Память: 0.45 MB
Время: 0.012 c
7-61851
tovSuhov
2002-10-16 13:23
2002.12.19
Аналог /dev/hda1 в Винде...


6-61733
pavor
2002-10-21 07:39
2002.12.19
Проблемы с написанием Web сервера...


3-61409
Eduard
2002-12-02 15:09
2002.12.19
Подвисание программы на время выборки большого объёма данных.


14-61771
Fantasist
2002-11-26 05:53
2002.12.19
Вот ссылку не могу найти.


14-61803
France
2002-11-28 11:24
2002.12.19
Теща и свекровь




   Наверх