Модуль Delphi игнорируется при компиляции компонента - PullRequest
2 голосов
/ 28 ноября 2011

Я пытаюсь скомпилировать TBX_D2010 в Delphi 2010. Сбой компиляции с необъявленным идентификатором E2003: 'TTBPopupPositionRec' в TBX.pas.

Странная вещь в том, что TTBPopupPositionRec объявлен в модуле TB2Item. Еще более странно то, что я могу отредактировать TB2Item.pas, даже удалить весь контент, и он все равно потерпит неудачу с той же ошибкой, игнорируя ошибки, внесенные в TB2Item.pas, как если бы он использовал другую, другую копию TB2Item. Однако удаление TB2Item из использования TBX.pas завершается с ошибкой другого типа.

Я установил dir / s для TB2Item. * И не нашел ничего подозрительного, и удалил все файлы TB2Item.dcu.

Что происходит, почему Delphi игнорирует мои изменения в TB2Item.pas?

Ответы [ 3 ]

4 голосов
/ 28 ноября 2011

TBX является надстройкой для Панель инструментов 2000 .

По умолчанию TB2Item.pas не содержит TTBPopupPositionRec, это добавляется при запускеdiff находится в каталоге TBX\Tools\TB2k Patch\.

Если этот тип не найден, это означает, что исправление не было применено правильно.

Еще одно замечание: я заметил, что последней поддерживаемой версией Toolbar 2000 была Delphi.2009. После компиляции с Delphi 2010 возможно, у вас есть один или несколько определений компилятора, которые необходимо обновить.

2 голосов
/ 28 ноября 2011

Обычно это происходит, когда в IDE установлен пакет, включающий таинственный блок, который не может быть найден.

Точное решение зависит от вашего точного сценария.

0 голосов
/ 24 мая 2012

Публикация ответа, чтобы я мог закрыть это:

Я удалил все .bpl и .dcp файлы другого пакета, перекомпилировал, переустановил другой пакет и новый, и все заработало.

...