я понимаю, ибо в нете столько примеров с подобной реализацией, не может быть что бы везде была ошибка, видимо это некая особенность Delphi 2010 или я чего то не досмотрел... даже не знаю что и делать, сегодня весь день пытаюсь этот вопрос решить, пока безрезультатно(
а в Delphi 2007 еще какая нибудь ошибка всплывет, тогда посоветуешь перейти дальше, на Delphi 7, etc... Delphi 7 конечно хорошая вещь, но начиная с этого проекта я перешел на Delphi 2010 и надо решать вопрос в данном контексте. Уверен, решение есть. Буду очень признателен тому кто поможет его отыскать.
Нашел кое-что по этому поводу. "В D2010 нужно учитывать, что по умолчанию string=WideString, посему для преобразования TStream>string НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ пользоваться функцией StreamToString." Code: function StreamToString(Stream: TStream): string; var i: integer; begin i := Stream.Size; SetLength(Result, i div SizeOf(Char)); if i > 0 then Stream.Read(Result[1], i); end; После использования этой функции в программе я уже не получаю "H e l l o , " а получаю "Hello," но куда при передаче пропадает " world" ? Возможно подобную функцию надо применять перед отправкой данных?
Разобрался. Данная проблема характера для D2009 и D2010. Для корректной передачи необходимо изменить тип аргумента функции Writing со String на AnsiString. Code: procedure TForm1.Writing(Text: AnsiString);