Вниз
Скачать: 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.017 c
3-61454
Дмитрий Жуков
2002-11-30 19:53
2002.12.19
Ошибка в TStoredProc.Prepare


14-61835
QUE
2002-11-26 10:22
2002.12.19
Задача монетами


7-61853
alvan
2002-10-13 13:17
2002.12.19
Блокировка доступа к папке


1-61583
v-o-y-a-g-e-r
2002-12-09 13:42
2002.12.19
Возможно ли при создании потока(нити) передать в него функцию


1-61656
smok_er
2002-12-08 00:10
2002.12.19
Мутексы, черт их подери...




   Наверх