![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
idTCPServer, idTCPClient [D7, Win95/98, WinME, Win2k, WinXP]
Stop © (2004-06-01 11:11:00)Выручайте, совсем запутался. Мне надо из клиента (idTCPClient) передать запись
MyRecord = Packed Record
Field1: String;
Field2: String;
end;
на сервер (idTCPServer), Field1 отобразить в Edit, Field2 в Memo. Назад ничего не возвращать. Заранее спасибо.
Digitman (2004-06-02 14:58:00) [1]считываешь в буфер Len:Integer значение Length(rec.field1), передаешь буфер Len длиной SizeOf(Len), далее передаешь собственно стр.данные в буфере PChar(rec.field1)^ длиной Len
следом повторяешь ту же последовательность передачи для rec.field2
как тебе это ? не проще ли сделать то же самое как в [1] ?
Stop (2004-06-02 14:23:00) [2]Но все-таки хотелось бы через WriteBuffer.
Reindeer Moss Eater (2004-06-02 08:33:00) [3]WriteBuffer удобен когда необходимо переслать один непрерывный кусок данных.
А когда у тебя в структуре только два указателя на сами данные и больше ничего, то WriteBuffer неудобен. Даже если никто никуда "не съезжает".
Digitman (2004-06-02 08:08:00) [4]
> Stop (02.06.04 07:37) [2]
это почему же не годится ?
оч даже годится)
Stop (2004-06-02 07:37:00) [5]Так не годится, можно как-то через WriteBuffer, но после отправки начинают 'съезжать' другие компоненты.
Reindeer Moss Eater (2004-06-01 11:30:00) [6]TCPClient1.Writeln(rec.field1);
TCPClient1.Writeln(rec.field2);