-
Здравствуйте! Знаю что тема объезжена уже, но все же. Есть клиент и сервер использующие TClient и TServer Socket соответственно. При передаче TStringList через SendBuf переменная типа TStringList пропадает где то в сети, вообщем приходит пустой. Как быть?
-
> Как быть?
Не передавать переменную типа TStringList. Ибо тема объезжена уже.
-
Результат := SendBuf(PChar(StringList.Text)^, Length(StringList.Text))
-
а что делать у меня...
//Описание типа информации о клиенте type TClientInfo = record Nik: string[20]; //Ник Family: string[50]; //Фамилия Name: string[50]; //Имя **********: string[50]; //Отчество Birthday: string[25]; //Дата рождения ZodiacalSign: string[20]; //Знак зодиака Email: string[30]; //Почтовый ящик Phone: string[20]; //Номер телефона IP: string[15]; //IP-адрес Password: string[20]; //Пароль ClientRegDate: string[25]; //Дата регистрации end;
type //описание записи типа TConnectSets TConnectSets = record ********: string[35]; *********: integer; **********: string[35]; Password: string[35]; // пароль -//-//- end;
type //описание записи типа TMsgSets TMsgSets = record *****: TConnectSets; // Настройки подключения Field_From: string[35]; // От кого Field_To: string[35]; // Кому ******: string[50]; *******: TStringList; end;
//запись с описанием сообщения чата type TChatMsg = record From: string[20]; //От кого Msg: string[100]; //Сообщение end;
//запись для обмена информацией между клиентом и сервером type TDataExchange = record ActionCode: byte; //Код действия ClientData: TClientInfo; //Информация о клиенте MiniChatData: TChatMsg; //сообщение мини-чата *: TMsgSets; **: integer; ***: TStringList; ****: boolean; end;
Как тогда быть?? Чем можно здесь заменить TStringList? Если передаются данные через DataExchange то есть SendBuf(DataExchange, SizeOf(DataExchange)) ??
-
> Vladimir (21.12.2009 00:17:03) [3]
Если по длине string[255] не тянет, то тогда array [1..n] of char Главное что бы была фиксированая длина
-
Да, 255 маловато) Попробую с массивом тогда, Спасибо!
-
>Результат := SendBuf(PChar(StringList.Text)^, Length(StringList.Text))
IMHO CommaText лучше.
|