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

Вниз

StringList & WinSocket   Найти похожие ветки 

 
SergeyIgudin ©   (2004-07-26 15:51) [0]

Вопрос такой:
у меня есть StringList(TStringList) и есть ServerSocket(TServerSocket), я заполняю СтрингЛист N-ым количеством строк, причем не только строками но и какими-нибудь объектами:
.............................
var
Cln_msg, Cln_msg2:TStringList;
begin
Cln_msg:= TStringList.Create;
Cln_msg.Add(Edit1.Text);
Cln_msg.Add(Edit2.Text);
Cln_msg.Add(Edit3.Text);
Cln_msg2:= TStringList.Create;
Cln_msg2.Add(Edit3.Text);
Cln_msg2.Add(Edit3.Text);
Cln_msg2.Add(Edit3.Text);
Cln_msg.AddObject("Cln_msg2", Cln_msg2);
......................................
и т.д.

отправить его по сокету вроде как не проблема... я делаю вот как:
................
i:= ?????? //Кол-во байт занятых заполненным стринглистом
           //что использовать sizeof или еще че?  
ServerSocket.Socket.SendBuf(Cln_msg, i);
................

основная моя беда это принять этот буффер...
клиентское приложение выдает ошибку (там чет про память...)

"принимаю" я так (приложение-клиент):
procedure TForm1.ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);
var
 Cln_msg: TStringList;
 i: Integer;
begin
 Cln_msg:= TStringList.Create;
 i:= Socket.ReceiveLength;
 Socket.ReceiveBuf(Cln_msg, i);
 Edit1.Text:= Cln_msg.Strings[0];
 Edit2.Text:= Cln_msg[1];
 Edit3.Text:= Cln_msg[2];
..........................

и вот тута и валятся всякие ошибки!!!!!

ЧЕ ДЕЛАТЬ? ПОДСКАЖИТЕ КТОНИТЬ!!!!


 
Digitman ©   (2004-07-26 15:57) [1]


> ЧЕ ДЕЛАТЬ


книжки читать


 
SergeyIgudin ©   (2004-07-27 08:06) [2]

и всетаки?!?!?


 
Digitman ©   (2004-07-27 08:22) [3]

ServerSocket.Socket.SendBuf(Cln_msg, i);
Socket.ReceiveBuf(Cln_msg, i);

ты вообще-то понимаешь, какую чепуху ты написал в этих строках ?

> Кол-во байт занятых заполненным стринглистом


Доступ к буферу данных стринг-листа осуществляется через св-во Text, а размер буфера данных рассчитывается с пом. Length(Text)


 
Kurtevich   (2004-07-28 18:06) [4]

Слышите, люди, может я конечно ламер, но я ваще не понимаю как это вы умудряетесь пересылать через тсп/ип обьект, состоящий из указателей на память, а потом еще на том конце удивляться, почему то, на что указывают указатели, не переправилось?... или тут чего-то недописано?.... интересно еще, как же все-таки вычисляется размер буфера?...


 
Palladin ©   (2004-07-29 02:37) [5]

Ну как умудряются... просто... ставят делфи и умудряются... потихоньку... типа прогеры...



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

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

Наверх




Память: 0.45 MB
Время: 0.041 c
14-1095082180
menart
2004-09-13 17:29
2004.10.03
VDSL


14-1094843017
Sam007
2004-09-10 23:03
2004.10.03
У кого установленна делфи 6


4-1093808052
MXMX
2004-08-29 23:34
2004.10.03
hInstance


1-1095663358
TAN_K
2004-09-20 10:55
2004.10.03
Клавиша < Enter> и Edit в модальной форме


14-1095227028
sapsi
2004-09-15 09:43
2004.10.03
ПО страховых компаний и туристических фирм





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский