Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.009 c
8-11341
AlexanderVasjuk
2002-07-09 15:20
2002.11.04
Создание MP3


3-11038
slgeo
2002-10-14 10:29
2002.11.04
Удаление dbf-таблицы в рантайм


3-11094
Vlad2
2002-10-15 13:20
2002.11.04
Получить список всех баз данных


7-11526
maxim2
2002-09-02 14:31
2002.11.04
В каком файле находится заставка при загрузке Windows


1-11297
Eldream
2002-10-23 14:53
2002.11.04
TWebBrowser и динамическое создание или изменение свойств





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский