Класс TLargeintField не найден

Я использую C++ Builder 2009.

Я выполнял некоторую международную работу над одним из моих проектов. Я обновил свои компоненты запросов до компонентов UniQuery, а все подключения к базе данных — до UniDAC. Теперь, когда я запускаю свою программу, некоторые формы будут вызывать некоторые исключения при создании формы.

Project X.exe raised exception class EClassNotFound with message 'Class TLargeintField not found'.

Читая в Интернете, некоторые предложения заключались в том, чтобы удалить все поля в компоненте запроса и прочитать их, что я и сделал, и все равно получаю те же сообщения. Мне интересно, я делаю что-то не так, или мне нужно добавить ссылку на VCL? http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/DB_TLargeintField.html

Дополнительная информация:

Ниже приведен скриншот сообщения об ошибке.

введите здесь описание изображения

Основываясь на сообщении об ошибке, мне кажется, что у меня может быть правильная ссылка на файл заголовка, но неправильная ссылка на файл lib.

Я считаю, что заголовочный файл для VCL будет в:

C:\Program Files (x86)\CodeGear\RAD Studio\6.0\include\vcl

Я попытался добавить следующее в путь к библиотеке, и он все еще не может найти класс:

C:\Program Files (x86)\CodeGear\RAD Studio\6.0\lib
C:\Program Files (x86)\CodeGear\RAD Studio\6.0\lib\release
C:\Program Files (x86)\CodeGear\RAD Studio\6.0\lib\psdk

Есть идеи?


person James Oravec    schedule 04.04.2013    source источник


Ответы (2)


Если я правильно помню, то DAC хочет иметь TLargeIntFile полей для вычисляемых значений, например, но при добавлении полей в запрос они создаются как обычные целые числа.

В моем случае я просто изменил файл формы .dfm и вручную изменил тип поля:

object QMinutes: TLargeintField
person Riho    schedule 04.04.2013
comment
Спасибо, Рихо, я выяснил основную причину своей проблемы и разместил свое решение ниже. Проголосовал за ценную информацию. - person James Oravec; 06.04.2013

Я узнал основную причину проблемы. Эта конкретная проблема связана с инструментом перевода коржа, в котором после внесения изменений в форму необходимо обновить языковые файлы. Этот процесс запускает компилятор несколько раз и, насколько я могу судить, обновляет разные dfm для каждого из файлов. Это сообщение появлялось, когда в настройках моего региона было установлено значение «Итальянский» (Италия), и оно выглядело как ссылка на старый файл dfm. После обновления языков похоже, что другие мои попытки (удаление и чтение полей в компонентах UniQuery) решили проблему...

person James Oravec    schedule 05.04.2013