| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Проблема с передачей файла через интернет |
| Автор: strk 19.10.2010, 17:18 |
| Здравствуйте! Возникла проблема с передачей файла(TMemoryStream) через TServerSocket и TClientSocket в Delphi 2010/XE... Проблема такая: Сам по себе файл передаётся вроде без проблем, но при попытке получить файл иp TMemoryStream он получается как будто в неправильной кодировке. Вроде больше нечего сказать про проблему. Но известно что проблема точно не в коде программы, т.к. проверял на Delphi 7/2010/XE и на 7ой версии проект без проблем передавался и сохранялся(без изменений кода) как надо, но в 7ой версии не компилируется вся остальная программа и по этому хотелось бы решить эту проблему и продолжить писать в Delphi XE. Зарание спасибо P.S. Передавать пробовал разными способами, все работали только на 7ой версии... |
| Автор: bems 19.10.2010, 18:10 |
| А как файл попадает в TMemoryStream? до его попадания туда не возникает проблем с переходом на уникод? |
| Автор: strk 19.10.2010, 18:30 | ||||||
На сервере:
На клиенте:
то что описано в клиенте повторяется пока файл не загружен, а точнее пока Receive = true там еще перед передачей отправляется размер и имя файла, но с ними проблем нет. Файл точно передается полностью, так как при сохранении количество символов и их положение совпадают, но сами символы другие... И как я уже писал, такая проблема только в 2010 и XE, а в Delphi 7 с этим проблем нет, всё отлично передается.
вроде бы нет, по крайней мере я ставил перед пиремом BreakPoint и смотрел что происходит с переменными на каждом действии, а именно с переменной Text и в ней текст был нормальным каким был отправлен |
| Автор: kami 20.10.2010, 07:38 |
код показан (или написан) не полностью. А что делать, если P^ не будет передан полностью за один вызов SendBuf? |
| Автор: strk 20.10.2010, 12:44 |
Спасибо огромное, с AnsiString заработало |
| Автор: v1m 21.10.2010, 20:20 |
| лучше TFileStream использовать |