Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Сети > Socket.ReceiveText + Delphi2009 = иероглифы |
Автор: dbgrid 4.2.2010, 17:08 | ||||
Здравствуйте... использую ServerSocket и ClientSocket, при пересылке сообщения от клиента к серверу (или наоборот), приходят иероглифы...как получить из этого текст?? код для клиента
код для сервера
в результате получем ИЕРОГЛИФЫ (скриншот не получилось вставить))) p.s. кстати забыл сказать...судя по тому что пишут в интернете, такой глюк только в delphi 2009 |
Автор: Alca 4.2.2010, 17:12 |
Ты подсоединился к китайской матрице! ![]() |
Автор: kami 4.2.2010, 23:14 |
Я не ставил себе D2009. Если не сложно - приаттачьте сюда ScktComp.pas (или в каком там модуле находятся в D2009 TClient и ServerSocket), почти уверен в чем проблема, но нужно достоверно убедиться. |
Автор: dbgrid 5.2.2010, 11:01 |
вот пришлось расширение поменять)) |
Автор: kami 5.2.2010, 18:28 | ||||
Вот она проблема и вырисовалась. В D2009 тип string по умолчанию=WideString(или UnicodeString, не суть сейчас важно). Смотрим на объявления функций в TCustomWinSocket&:
Итого - передаем как AnsiString, а принимаем тот же буфер как WideString. Неувязка ![]() Одно из решений - использовать вместо SendText -> SendBuf
|
Автор: Fess59 9.2.2010, 13:16 | ||
Была аналогичная проблема, решил вот так:
|
Автор: Artes 11.2.2010, 23:26 | ||||||
Спасибо! Очень помог. Можеш обьяснить вчем тут фишка? Еще вопрос. Пробывал пересылать буфер типа
на сервер приходит пустой буфер. Таже Delphi 2009. Подскажите в чем проблема. |
Автор: Zemlyanov 22.2.2010, 20:09 |
Блин , поставил Delphi 2009 не могу найти ServerSocket и ClientSocket, до этого стоял Delphi 2006. В чем проблема? |
Автор: Zemlyanov 22.2.2010, 22:02 |
Все разобрался.Надо было добавить компонент ,войди в меню Component выбери пункт Install Packages дальше Add, зайти в папку Bin и выбрать файл dclsockets120.bpl |