Главная страница
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.47 MB
Время: 0.022 c
14-1095141285
Мазут Береговой
2004-09-14 09:54
2004.10.03
Ну, вот всё встало на свои места... :-)


14-1095187107
stany
2004-09-14 22:38
2004.10.03
XP Pro vs XP Home


4-1092836312
R1
2004-08-18 17:38
2004.10.03
Диалог свойств файла (ShellExecuteEx)


14-1095161073
X9
2004-09-14 15:24
2004.10.03
Покупать или нет? MSND .Net 3 CD


3-1094290136
Lamers not dead
2004-09-04 13:28
2004.10.03
ADOQuery.SQL