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

Вниз

Передача записи по сети через сокеты   Найти похожие ветки 

 
Vladimir ©   (2009-12-20 22:01) [0]

Здравствуйте! Знаю что тема объезжена уже, но все же. Есть клиент и сервер использующие TClient и TServer Socket соответственно. При передаче TStringList через SendBuf переменная типа TStringList пропадает где то в сети, вообщем приходит пустой. Как быть?


 
Сергей М. ©   (2009-12-20 23:17) [1]


> Как быть?


Не передавать переменную типа TStringList.
Ибо тема объезжена уже.


 
Сергей М. ©   (2009-12-20 23:24) [2]

Результат := SendBuf(PChar(StringList.Text)^, Length(StringList.Text))


 
Vladimir ©   (2009-12-21 00:17) [3]

а что делать у меня...

//Описание типа информации о клиенте
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)) ??


 
Anatoly Podgoretsky ©   (2009-12-21 00:23) [4]

> Vladimir  (21.12.2009 00:17:03)  [3]

Если по длине string[255] не тянет, то тогда array [1..n] of char
Главное что бы была фиксированая длина


 
Vladimir ©   (2009-12-21 00:28) [5]

Да, 255 маловато) Попробую с массивом тогда, Спасибо!


 
Дмитрий Белькевич   (2009-12-22 13:43) [6]

>Результат := SendBuf(PChar(StringList.Text)^, Length(StringList.Text))

IMHO CommaText лучше.



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

Форум: "Сети";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.113 c
2-1339237885
Savek
2012-06-09 14:31
2013.03.22
Не удаётся сохранить картинку


15-1353616205
Юрий
2012-11-23 00:30
2013.03.22
С днем рождения ! 23 ноября 2012 пятница


4-1261646635
lunev_denis
2009-12-24 12:23
2013.03.22
Обновление информации в реестре


2-1332430983
теркин
2012-03-22 19:43
2013.03.22
Представление двухмерного массива в виде динамического списка


2-1334063803
AndreyPl
2012-04-10 17:16
2013.03.22
комбинация клавиш для установки TabOrder





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