Delphi XE: необходимо перекомпилировать фиктивный пакет Never-build / Внутренняя ошибка F2084: ошибки U10346 при сборке пакетов

Я пытаюсь создать пакет (пакет A), содержащий компилятор DWS. Это работает, но когда у меня появляется второй пакет (пакет B), который требует пакета A, содержащего любой модуль, который использует конкретный модуль из DWS, я получаю сообщение об ошибке:

[Неустранимая ошибка DCC] E2225 Пакет A, который никогда не собирался, необходимо перекомпилировать.

Если я изменю пакет A на перекомпиляцию по мере необходимости, ошибка не исчезнет. Вместо этого я получаю

[Неустранимая ошибка DCC] F2084 Внутренняя ошибка: U10346

в той же точке.

Я разместил отчет об ошибке на странице http://code.google.com/p/dwscript/issues/detail?id=419, и похоже, что проблема не воспроизводится со стороны автора, что означает, что что-то идет не так с моей стороны. Он дал несколько полезных советов: «Я иногда видел эту ошибку из-за случайного DCU».

Поиск и удаление всех DCU, которые могли иметь отношение к делу, не помогли решить проблему даже после перезапуска как среды IDE, так и компьютера.

Выполнение трассировки на BDS с использованием Process Monitor во время процесса компиляции не выявило ничего важного.

Есть ли у кого-нибудь идеи, как это отследить? Используя Delphi XE, обновите 1.

Перекрестная публикация на форумах Delphi. Посмотрим, кто первым придумает решение.


person Mason Wheeler    schedule 14.06.2013    source источник
comment
Да, меня это тоже раздражает, я просто объединил два своих пакета, чтобы этого избежать.   -  person Jerry Dodge    schedule 14.06.2013
comment
@JerryDodge: К сожалению, это не вариант.   -  person Mason Wheeler    schedule 14.06.2013
comment
@ Мейсон Уиллер. Похоже, что проблема не воспроизводится со стороны автора, а это значит, что что-то идет не так с моей стороны. Почему проблема должна быть только на вашей стороне? Может быть, автор не может воспроизвести проблему на своей стороне, потому что он не использует ту же конфигурацию / настройки, что и вы, или у вас есть тестовый пример, который он не рассмотрел?   -  person Jack G.    schedule 15.06.2013
comment
@ J.Gonzalez: Я понимаю, о чем вы говорите, но в данном случае, к моему удовлетворению, убежден, что это проблема местного значения. Взгляните на связанный отчет об ошибке. Совершенно ясно, что проблема не воспроизводится со стороны автора.   -  person Mason Wheeler    schedule 15.06.2013
comment
@ Мейсон Уиллер. Исходя из того, что это проблема местного значения. у вас проблема на одной машине или вы можете воспроизвести ее на других машинах?   -  person Jack G.    schedule 15.06.2013


Ответы (3)


У меня тоже была проблема, и я нашел способ ее обойти.

Похоже, проблема вызвана встроенными функциями компилятора. Я помню, что ошибка возникает при использовании встроенного метода, и этот метод слишком велик.

Эта ошибка является исключительной для Delphi XE и, похоже, никогда не исправлялась.

Проверьте следующие варианты пакетов

1) пакет dwsLibRuntime

  • Компилятор Delphi / Генерация кода / Управление встраиванием кода = Авто или Вкл. Или Выкл.
  • Описание / Контроль сборки / Перестройка по мере необходимости

2) пакет dwsLib

  • Компилятор Delphi / Генерация кода / Встраивание кода Control = OFF (это важная вещь)
  • Описание / Контроль сборки / Перестройка по мере необходимости

Перекомпилируйте пакеты, и кажется, что он работает, он устанавливается правильно, и я могу скомпилировать DwsIdeDemo.

Я также опубликовал решение для вашего отчета об ошибке: http://code.google.com/p/dwscript/issues/detail?id=419

person fduenas    schedule 11.09.2013
comment
Да, это оказалось проблемой, связанной с встраиванием, и некоторые более поздние проверки исправили проблему. - person Mason Wheeler; 07.02.2014
comment
Это все еще проблема в Delphi 10.0 seattle. - person Warren P; 10.06.2021

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

Однако у меня сработало удаление пакета, который необходимо перестроить, с вкладки «require» в пакете, который его запрашивает. После этого все построилось нормально.

person Tuncay Göncüoğlu    schedule 26.01.2015

Для packadge посмотрите параметр проекта> Описание> Управление сборкой измените с Explict Rebuild на Rebuild по мере необходимости

до свидания

person user3285056    schedule 07.02.2014
comment
Как отмечено в вопросе, я уже сделал это. Это не сработало. - person Mason Wheeler; 07.02.2014