Delphi: Как избавиться от "Предка TMyForm не найдена ошибка"?

У меня есть некоторые формы, наследуемые от TMyForm (TMyForm - компонент третьей стороны с формой исходного кода).

Когда я открываю в IDE свои формы, унаследованные от TMyForm, я:

Ошибка создания формы: Предки для "TMyForm" не найден.

Обходной путь заключается в том, чтобы открыть элемент TMyForm в среде IDE, а затем попытаться открыть мои унаследованные формы.

Но как я могу избежать того, что Delphi дает эту ошибку и может открыть мои формы, даже если TMyForm не открывается в среде IDE?

Ответ 1

Вам нужно, чтобы родительская форма была открыта в среде IDE или добавлена ​​в проект, нет обходного пути, к сожалению. Здесь: Зарегистрировать пользовательскую форму, чтобы я мог наследовать ее из нескольких проектов, не копируя форму в папку "Репозиторий объектов" . Я пытался много и много чего, без успеха.

Ответ 3

Мое обходное решение. Существует несколько способов:

  • Добавить в проект полный путь ко всей родительской форме. Неудобно, из-за абсолютного пути
  • Добавить пакет с родительскими формами в список проектов. В этом случае проблем нет. Но каждый раз нужно открывать компоненты в среде delphi.
  • Используйте временное решение от embarcadero.

Автоматически открывается все дочерние формы:

Ticket, был создан около 10 лет назад: http://qc.embarcadero.com/wc/qcmain.aspx?d=8376

Здесь вы можете скачать версию для Delphi XE2: https://bitbucket.org/hemn/autoopenunit

Я рекомендую!