У меня было такое же сообщение об ошибке в Delphi XE. Моя была решена после закрытия Delphi, открытия его снова и перекомпиляции моего проекта.

ою программу, которая использует плагины. К сожалению, динамическое связывание инфраструктуры плагинов вытесняет RTL и VCL из моего EXE-файла проекта в версии BPL, и у них не включена отладочная информация.

Поэтому я построил среду тестирования, которая статически связывается с моими плагинами, чтобы я мог видеть, что я делаю, во время трассировки кода. Но теперь, каждый раз, когда я пытаюсь перекомпилировать, я получаю сообщение об ошибке: «unit turbu_skills был скомпилирован с другой версией turbu_database.GDatabase»

Я видел эту ошибку раньше, но только когда менял вещи, которых, вероятно, не должно было быть, например библиотеки RTL или VCL. Я не понимаю, почему это происходит с моим собственным кодом. Единицы turbu_skills и turbu_database - это те единицы, которые я написал сам. GDatabase - это глобальная одноэлементная переменная, определение класса которой я не менял уже несколько недель. Любое изменение, которое вызывает перекомпиляцию, вызывает эту ошибку, даже если я ничего не трогал ни в одном из модулей.

Выполнение полной сборки (SHIFT-F9) приводит к правильной компиляции. Но если я тогда нажмуПРОСТРАНСТВО в блоке (любой и нажал F9, я снова получаю ошибку. Что происходит и как мне это остановить? Это не происходит в основном приложении, только в тестовой среде.

РЕДАКТИРОВАТЬ: У меня есть источник для всех моих подразделений. Удаление DCU и подобных файлов не помогает. Копирование всего проекта на другой компьютер, удаление всех DCU и сборка там не помогают. Существует объективный, воспроизводимый конфликт между макетом моей программы и компилятором, и я хочу от него избавиться.

Источник можно найти по адресуhttp://www.turbu-rpg.com/downloads/Turbu_source_setup.exe если кто-то хочет проверить это. Требуется Delphi 2009 с уже установленной JVCL; Пакет установщика позаботится обо всем остальном. Возможно, наличие исходного кода поможет кому-то отследить это. Я, конечно, на это надеюсь, потому что, где бы ни была проблема, это вне меня. Проблема может быть найдена в testing.exe, а также в turbu.exe в turbu.groupproj.

РЕДАКТИРОВАТЬ 2: Оказывается, это была еще одна проблема дженериков между единицами. Grr. Мне удалось закодировать обходной путь. Я просто надеюсь, что они скоро исправят проблемы с дженериками.

Ответы на вопрос(14)

Ваш ответ на вопрос