![]() |
|
![]() ![]() ![]() |
|
Kirgston |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
О ужас... чем дальше тем хуже и хуже. Сейчас перекинул мой проект с 2010 на 2011 (RAD Studio XE) и столкнулся просто таки с просто тупой проблемой. У меня в коде есть работа с сокетами или другими ВинАпи ф-циями которые скажем так "морально устарели". Но аналога пока не видел. Тот же inet_addr или же gethostbyname которые принимают исключительно char ... а Эмбаркадеровци сделали перегрузку своих ф-ций, и убрали char с Юникода. То есть раньше я мог сделать что то нечто
Сейчас же у них все t_str() , w_str() , c _str() возвращают исключительно Юникод. И мне для старых ф-ций приходится тупо создавать еще одну Анси строку. Ладно это еще пол беды. Но глючный Инди 10 уже надоел... я не понимаю как это надо писать его чтобы у меня с 10го раза код работал так как задумано?! о_О
а - __int64 Вот этот кусочек кода компилируется нормально один раз из 100... То есть оно как то криво собирает проект что этот метод вообще не срабатывает... но в тот же момент код абсолютно нормальный... Пишу это исключительно потому что уже пол года сижу на студии, и "возрождая" старенькие проекты которые не реально (из-за некоторых спецификаций) перенести на Студию , или же это займет неоправданное время, и собственно вижу как всё стабильно там работает, всё продумано , всё аккуратно и у них полная совместимость со старыми ф-циями. Тут же всё наоборот... косяк на косяке косяком помахивает ![]() Ребят. Если кто то разобрался как нормально собирать Инди 10 напишите пожалуйста. А то код нормальный. А вот компилируется глухо. |
||||
|
|||||
Лена |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
Для перевода проектов в новую RAD будет полезно ознокомиться с этим:
http://www.delphi2009.ru/Unicode_Delphi-RUS.pdf и видео в списке - Delphi 2010: вопросы миграции: http://www.embarcadero-events.eu/index_recorded.html У меня все работает. Очень полезный форум по Indy: https://forums.codegear.com/forum.jspa?forumID=52 (английский) |
|||
|
||||
Kirgston |
|
||||||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Спасибо конечно. Но с Юникодом я знаком =) . Я же говорю что у них просто человеческая поддержка старых ф-ций пропала. И чтобы их использовать приходится изворачиваться.
Ммм ну хорошо , приведу чисто кусок кода моего. клиент:
сервер:
Чисто из логики и задумки тут всё работает. Так же это было 1 раз на практике. Я скомпилил. Всё было хорошо. И не просто 1 раз запускался хорошо а дальше нет. А просто нормально работал. Дальше я чуток изменил код вне этой ф-ции и всё... перестал работать
А точнее тот который стоит перед AContext->Connection->IOHandler->Write(buf); . Ребутнул ПК. Почистил проект и скомпилил еще раз. Теперь не работает
тот который вложен в if. Никаких намеков на последовательность и т.д. когда оно хочет тогда компилится нормально. Когда не хочет - криво. В Хэлп бесполезно лазить. Он просто никакой и там ничего нету... а то что есть в 80% случаев итак на глаз видно либо когда залазишь в хидер. Добавлено через 4 минуты и 45 секунд
Спасибо, пошел обсирать пиндосов т.к. у меня вот сейчас уже и ReadLn адекватно не работает, хотя 2умя строками выше он работает на ура... |
||||||||||||
|
|||||||||||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
А че на голых сокетах не судьба писать?
Добавлено @ 10:04 Пока ты будешь копаться в индейцах, то можно 345 раз написать свои враперы Это сообщение отредактировал(а) Alca - 24.9.2010, 10:04 |
|||
|
||||
Platov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.7.2009 Репутация: 2 Всего: 2 |
Полностью согласен! Для меня Инди перестали существовать больше года назад. Надоело каждый раз разгадывать головоломки что же они там поменяли. И как сделать чтобы заработал старый прект. |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Каким образом она пропала? ![]() или может тебе просто было лень посмотреть в документацию и понять, что есть врапперы на юникоде для вышеперечисленных функций? Еретик! Сокеты Беркли в Билдере - это уже слишком. Вот если бы ты написал компонент - то другое дело. ![]() |
|||
|
||||
Alca |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
А какая существенная разница между классом и компонентой? Вторую можно таскать мышкой?? ))) Добавлено через 3 минуты и 19 секунд
может и есть такие, хз |
||||||
|
|||||||
Лена |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
||||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Надо использовать 1 порт. Мне что весь проект на сокеты переводить? Спасибо, лучше тут разберусь =)
какие враперы? c_str() , w_str() , t_str() ??? |
|||
|
||||
_Dimon_ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 25.6.2007 Где: Украина Репутация: 1 Всего: 1 |
Попробовал RAD XE 2011, вроде все нормально, но твоей проблемы вообще не понимаю.
Но сам пока не перевожу свой проект в эту среду, так как надо компоненты сторонних разработчиков, но пока нету их для ХЕ. |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
В добавок добавлю... перенес свой проект на 2011... Запустил. Ну вроде всё нормально. Дал людям потестить. Мне сразу кучу багов. Я смотрю а у меня всё нормально. Потом на соседнем ПК (с ХРюшей ; у меня Вин 7 х64 ) смотрю что при OpenDialog1->Execute - программа закрывается мгновенно, при использовании BROWSEINFO & ITEMIDLIST так же закрывается мгновенно. Так же веб браузер перестал открывать странички... просто пишет что страничка не найдена. В коде я не ковырялся. Всего лишь просто откомпилил на новой студии... может у меня кряк кривой конечно... но увы пока плавно опускаюсь обратно на 10тку (сомневаюсь что у меня руки уже настолько кривые... )
|
|||
|
||||
SVN74 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 5.5.2008 Где: Комсомольск на Дн епре Репутация: 11 Всего: 18 |
1. Нельзя передавать файлы (кроме текстовых) используя String(и), - потом возможны ошибки в файлах... Надо применять буферную передачу или Stream(ы)... 2. По теме - лучше изначально в проекте использовать стандартные строковые функции языка С++ , а к UnicodeString приводить только для VCL компонентов, тогда в будущем не будет таких неприятностей. |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Очень извиняюсь. Баг реально присутствует но это относится к дополнительному контролу (АльфаСкин). Я его просто выключил и всё стало на свои места.
Уже сделал на Стримах. Но бага в Инди всё же есть. Дело в том что метод Write() разрешает передавать строки. И метод WriteLn(). Но если передать Юникод строку с помощью Write() то с помощью ReadLn её прочитать нельзя. Ну так ЮникодСтринг эт же оболочка над обычными строками о_О |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |