
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.3] |
![]() |
|
Страницы: (6) 1 2 [3] 4 5 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
volvo877
Спасибо еще раз за помощь. Действительно как я придполагал дело было в Инди. Переделал функцию расшифровки на работу с Bytes - все заработало. ![]() Как я понимаю если мне до лампочки в данном месте этот Юникод я должен использовать TEncoding::Default ? Просто как эти подводные камни обойти в связи с заменой String'ов на юникод? Я сам лично в своем коде использовал всегда AnsiString. Поэтому мне беспокоиться на счет себя не надо. А вот как оказалось другие компоненты могут перейти (или остаться) на String. Как совместимость сохранить, какие подводные камни могут быть! P.S. На том форуме было вот это: А вот зато стандартный дельфовый EncdDecd поправили. С ним нет проблем. Это про что? Мне от этого Индивовского компонента нужно просто получить текстовую последовательность A..Z, a..z ну и символы типа = и т.п. Т.е. чтобы превратить шифрованный текст, обработанный xor'ом в человеческий так сказать. |
![]() |
Сообщ.
#32
,
|
|
Цитата Adalon @ Это про то, чтоЭто про что? ![]() ![]() #include <EncdDecd.hpp> ... AnsiString s = "this is a тест"; AnsiString s_encoded = EncodeString(s); AnsiString s_decoded = DecodeString(s_encoded); // <--- Получаешь строку "this is a тест", а не кракозябры |
Сообщ.
#33
,
|
|
|
Кстати заметил такую тему что компилер материтьсо на то, что не используются параметры событий. к примеру тот же Sender
|
Сообщ.
#34
,
|
|
|
Цитата mrbrooks @ Кстати заметил такую тему что компилер материтьсо на то, что не используются параметры событий. к примеру тот же Sender А и правильно. А чтоб не было этого варнинга, всего-то пишешь : ![]() ![]() void __fastcall TForm1 :: SomeEventHandler (TObject *) /* а имя не указуешь, если оно не используется в функции */ { // ... } А как, в новом билдере кодогенерация такая же пещерная осталась, или поддержку более-менее новых процов ввели ? |
Сообщ.
#35
,
|
|
|
antigen сенкс.
но как то это не по людски ![]() |
![]() |
Сообщ.
#36
,
|
|
Цитата mrbrooks @ но как то это не по людски Что именно? То, что раньше, чтобы это увидеть, тебе надо было сделать Show All Warnings, а теперь - не надо ничего делать? Не нравится - отключи: Project->Options->C++ Compiler->Warnings->Enable Selected Warnings |
Сообщ.
#37
,
|
|
|
Цитата mrbrooks @ но как то это не по людски Это в полном соответвии с правилами языка. А на варнинги, если хочешь, чтобы прога была стабильной и неглючной, следует всегда обращать внимание. |
Сообщ.
#38
,
|
|
|
Цитата volvo877 @ точняг. что-то я лоханулся.Не нравится - отключи Цитата antigen @ Бесспорный факт камрад. Это в полном соответвии с правилами языка. |
Сообщ.
#39
,
|
|
|
/оффтоп
Цитата kwwsoft @ Оффициальная дата выпуска Delphi 2009 и C++ Builder 2009 - понедельник, 25 августа 2008 года. напоминило случай в жизни, когда я с другом смотрел книги, было это ашь в 2007 году (начало лета), так вот на книге было написано дата издания : 2008 год. |
Сообщ.
#40
,
|
|
|
заметил 2 неприятные вещи (по сравнению с БСБ6):
1. если вызывать контекстную помощь (F1 по слову в коде), очень часто среда уходит в глухой вис - тока диспечер виндовый ее убить может.... ![]() 2. делал код с подменой оконной процедуры формы в котором была ошка. запустил под отладчиком. повисло все - тока ресет спас. раньше отладчик по любому вытягивал любые баги - до ресета дело не доходило. ![]() и еще - в БСБ6 был в менюшке хоть простенькой - но графредактор. тут нет. ![]() |
Сообщ.
#41
,
|
|
|
1. Посмотрел ролик написания DataSnap на дельфи. Всё просто. Там под это дело сделан Server Data Modul. Ни какого COM. В билдере этого модуля нет. Видимо опять только Remote Data Module и COM.
2. Поставил DevExpress, всё нормуль вроде. Кинул кнопку на форму и кликнул 2 раза. Получил вот что... Некорректное объявление метода. void __fastcall TForm1::cxButton1Click(Sender *) При генерации через инспектор всё ок. |
Сообщ.
#42
,
|
|
|
Что-то не пашет под 2009 как надо Socket->ReceiveText() у TClientSocket и TServerSocket.
Получается хрень какая-то. Причем отсылается то, что надо, т.к. старый сервак, компиленный еще под 2007 принимает от клиента, переписываемого под 2009 нормально. А вот тот принимает обратно хрень. Перекомпилил сервер и тот пересал принимать нормально. Вроде там везде AnsiString в методах. Не пойму в чем дело. К примеру, вместо команды ###Ping### приходит ??????. |
Сообщ.
#43
,
|
|
|
в 2009-м по умолчанию если явно не указать другое то везде используется юникод. может в этом беда...
я вот юзаю UDP клиента и сервера - так вроди норомально все |
Сообщ.
#44
,
|
|
|
kwwsoft
В хелпе описание класса там AnsiString для билдера. Ну а как тогда правильно юзать? |
Сообщ.
#45
,
|
|
|
Короче дело явно в юникоде.
SendText отсылает в Ansi, а вот ReceiveText возвращает в юникоде. Стоит послать 1 символ <127 он доходит, стоит 2 - превращается в 1 китайский, оно и понятно. DecodeString не помогает. Тут, думаю, дело в том же, что и в Indy - разрабы перелезли на юникод, а компоненты нормально адаптировать забыли - вот камни и вылезают. Но может я и ошибаюсь - кто подскажет, как нормальный текст из ReceiveText получить? Пока юзаю ReceiveBuf. Вроде пашет. Хелп просто убивает. Pascal function ReceiveBuf(var Buf; Count: Integer): Integer; C++ __fastcall int ReceiveBuf( Buf, int Count); Description This is ReceiveBuf, a member of class TCustomWinSocket. Все. ![]() Я по смыслу могу понять что это. Могу догадаться что возвращает функция. Но какое же это тупое описание метода, вы не находите? |