Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Ошибки в JVCL на Delphi2010


Автор: hawkins 30.12.2009, 15:35
Что-то у меня прога с Jvcl компонентами не компилится в Delphi2010. Установлена студия с обновлением для хелпа. Пробовал JVCL версий 3.39 и 3.38 - одно и то же. Когда компилю проект, выдается куча ошибок, все указывают на код где используются строки WideChar, Char, AnsiString. Или ругается на привидение типов или ещечто-то. Чаще всего такая ошибка:

[DCC Warning] JvJCLUtils.pas(1735): W1050 WideChar reduced to byte char in set expressions.  Consider using 'CharInSet' function in 'SysUtils' unit.

скрин после компиляции: http://i1.fastpic.ru/big/2009/1230/6b/1a00beb042747e9792c4d2cccb61ed6b.jpg

видимо из-за юникода...

Автор: CodeMonkey 30.12.2009, 16:28
Вы разницу между ошибками и предупреждениями понимаете?

Добавлено через 4 минуты
Убедитесь, что вы используете последнюю версию JCL/JVCL. Также убедитесь, что при компиляции используется .inc файл от последней версии (сделайте поиск jedi.inc на машине). Может быть, из-за настроек путей поиска файлик берётся не из папки JCL/JVCL.

Откройте файлик и убедитесь, что в нём есть определения для Delphi 2010. Если нет - добавьте сами.

Автор: Akella 30.12.2009, 17:18
Цитата(CodeMonkey @  30.12.2009,  16:28 Найти цитируемый пост)
Убедитесь, что вы используете последнюю версию JCL/JVCL.

Желательно стабильную, а не какой-нибудь бета выпуск.

Автор: hawkins 30.12.2009, 17:40
Цитата(CodeMonkey @  30.12.2009,  16:28 Найти цитируемый пост)
Вы разницу между ошибками и предупреждениями понимаете?

да, действительно это предупреждение, но ошибок там тоже много, дальше.

насчет путей к .inc файлам, проверил - в делфи опциях они заданы. В папке с инками файл jedi.inc тоже есть, и все версионные .inc файлы включая jvcld14.inc (как раз для delphi2010). В файле jedi.inc в начале прописал руками {DEFINE VER120} , хотя в самой делфи это прописно где-то...

В delphi2007 JVCL у меня нормально работает, но там и юникода нет...

Автор: hawkins 30.12.2009, 18:02
Я проект , с Delphi2007 перевожу. А  сейчас сделал чистый проект, кинул те же компоненты из jvcl, все скомпилилось без ошибок. Значит в проекте моем где-то косяк, зря я на jedi грешил. 
Спасибо за помощь, буду разбираться...

Автор: CodeMonkey 31.12.2009, 04:28
Цитата(hawkins @  30.12.2009,  17:40 Найти цитируемый пост)
 В файле jedi.inc в начале прописал руками {DEFINE VER120} , хотя в самой делфи это прописно где-то...

Во-первых, это не нужно, во-вторых, Delphi 2010 - это VER210. VER120 - это Delphi 6.

Вон та ошибка со скрина, с MakeStr возникает из-за того, что для юникодных Delphi там два варианта MakeStr. Т.е. 99%, что что-то напутано с define-ми. 

Ещё я вижу, что ошибка возникает в вашем проекте. А вы установщик джедёвый запускали? Он нормально библиотеку поставил? Если да, а у вас ошибка - значит проблема с дефайнами у вас. Возможно, пути поиска не те (цепляются не те файлы).

Автор: hawkins 31.12.2009, 22:28
все разрешилось. Оказалось все срвсем просто. В моем проекте в опциях в ручную были прописаны пути к JVCL юнитам и икам из 2007 среды. Ну и при компиляции в 2010 студии цеплялись юниты и инки старой JVCL. Удалил пути к старой либе, сейчас все норм...

Автор: SlaUr 2.1.2010, 17:46
А у меня jvcl последней версии не встает под delphi 2010

Автор: CodeMonkey 3.1.2010, 16:00
Цитата(SlaUr @  2.1.2010,  17:46 Найти цитируемый пост)
А у меня jvcl последней версии не встает под delphi 2010 

Это вы к слову сказали или с целью решить проблему? Если второе, то телепатов тут нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)