Вниз
Скачать: CL | DM;

Ошибка создания формы в 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.007 c
15-1307197263
Sergey Masloff
2011-06-04 18:21
2011.11.13
Привет из солнечного Крыма


3-1266143158
dmitry1208197320
2010-02-14 13:25
2011.11.13
Как можно сохранить таблицу на диске


2-1311690897
nofical
2011-07-26 18:34
2011.11.13
Работа с ReadProcessMemory, как прочитать данные ячейки?


2-1311626166
Германн
2011-07-26 00:36
2011.11.13
Вопрос по SHGet


2-1310392304
jetus
2011-07-11 17:51
2011.11.13
MDI-приложение и перерисовка родительской формы




   Наверх