Форум: "Основная";
Текущий архив: 2011.11.13;
Скачать: [xml.tar.bz2];
ВнизОшибка создания формы в design-time Найти похожие ветки
← →
Юрий Зотов © (2010-04-27 10:48) [0]Загружаю в IDE чужой проект. Билдится, запускается. Но при попытке поднять любую форму для визуального просмотра IDE выдает ошибку: "Error creating form: Ancestor for "TForm" not found". В других проектах все нормально.
Такая ошибка возникает (и гугль это подтвердил), если в проекте есть визуальное наследование форм и при попытке открыть форму-потомка форма-предок не открыта. Но тут-то IDE говорит о классе TForm, у которого вовсе нет никаих ресурсов. Поэтому и непонятно, в чем дело.
Может, кто-то уже с таким безобразием сталкивался?
← →
jack128_ (2010-04-27 10:58) [1]а если создать новую форму в этом проблемном проэкте - все нормально??
если в проэкте какая нить форма без визуального наследования и вложенных фреймов? Проверь её и выложи dfm"ку, а то так с ходу и не скажешь. ну и вообще проверь, нету где нить левой копии Forms.pas на винте
← →
sniknik © (2010-04-27 11:44) [2]приблизительно было.
в dfm сбилось (каким образом хз.) указание что форма наследуемая. стала как обычная. компилятор не пострадал, все inherited действовали как положено, компилировалось/работало правильно, но ide при открытии этой формы временами валился в ексепт (а также если форма просто присутствовала среди открытых, переходить и смотреть на нее для ошибки было необязательно, но так реже).
← →
sniknik © (2010-04-27 11:46) [3]> Но тут-то IDE говорит о классе TForm
TForm = class(Forms.TForm);
← →
_Гость_ (2010-04-27 13:47) [4]надо проверить, что написано в dfm первым
object или inherited
должно быть object
IDE иногда ошибочно пишет туда inherited, и начинается зоопарк
← →
Anatoly Podgoretsky © (2010-04-27 19:02) [5]> Юрий Зотов (27.04.2010 10:48:00) [0]
Вообще то он не совсем о TForm говорит, а о том, что не найден наследник от него.
← →
Игорь Шевченко © (2010-04-27 20:17) [6]
> IDE иногда ошибочно пишет туда inherited, и начинается зоопарк
IDE ошибочно не пишет и чудес на свете не бывает
← →
Германн © (2010-04-28 02:52) [7]
> IDE ошибочно не пишет
Это точно.
Но IDE пишет "туда" всегда "тупо". И читает при компиляции тоже всегда по шаблону. Возможно это и правильно. Возможно нет.
Не всегда "шаблонная" реализация хороша.
← →
Юрий Зотов © (2010-04-28 09:57) [8]В общем, так. Может, кому пригодится.
Визуального наследования и вложенных фреймов в проекте нет. Левых Forms.pas на диске тоже нет. Класс TForm нигде не переопределен. Это все сразу было проверено, иначе и писать сюда не стал бы.
Потом подумал, что надо проверить dfm. Сконвертил все dfm в текст (были бинарными) и проверил - везде object.
Вроде, все нормально. А глюк живет.
Удалил из проекта все формы и сохранил его. Потом перезагрузил IDE и те же формы добавил снова.
Глюк исчез. Значит, это действительно был глюк.
PS
Предок, Толя, предок. Что и странно.
← →
Anatoly Podgoretsky © (2010-04-28 11:23) [9]> Юрий Зотов (28.04.2010 09:57:08) [8]
Мне тоже странно, ни разу не видал такого сообщения. А глюк возможно связан с путями, лечился повторным добавлением форм.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2011.11.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c