![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
EClassNotFound [D6]
--= Eagle =-- © (2006-11-15 18:20:00)Доброго времени сутов всем.
Решил попробовать для этой: http://www.delphimaster.ru/cgi-bin/forum.pl?n=12&id=1162824958&p=2ситуации сделать всё-таки возможность работать с зарегистрированными панельками. Наткнулся на подводный камень под именем EClassNotFound. Каким образом это происходит: в редакторе компоненты добавляю новую панельку, она сохраняется в форму нормально, но не прописывается в класс формы, в результате при запуске получаю сабжевый ексепшн. Как бы её прописать в класс формы?
--= Eagle =-- (2006-11-16 14:19:00) [1]DimaBr, сорри, я перепутал. В рантаймовом конструкторе как раз и сделал. Но не в основном компоненте. Перенём в основной компонент - теперь всё ок. Спасибо!
Тема закрыта.
DimaBr (2006-11-16 14:13:00) [2]RegisterClasses пишем в конструкторе главной панели или в инициализации рантаймового модуля, разве тяжело посмотреть собственные топик ???
--= Eagle =-- (2006-11-16 12:39:00) [3]DimaBr, что-то не фурычет...
У меня 3 юнита: регистратор (в нём в секции initialization прописал RegisterClass), рантаймовый и дизайнтаймовый (в нём в конструкторе внутренних панелек тоже прописал RegisterClasses). Код выполняется, но в тестовом юните с формой при добавлении на основную компоненту внутренней панельки последняя в юните не региструруется...
DimaBr (2006-11-16 10:55:00) [4]
> StriderMan © (16.11.06 10:11) [3]
Ого, просто не думал что и такая функция есть.
StriderMan (2006-11-16 10:11:00) [5]
> DimaBr (16.11.06 09:17) [2]
RegisterClasses([TMyChildPanel]) "=" RegisterClass(TMyChildPanel)
DimaBr (2006-11-16 09:17:00) [6]Извиняюсь, очепятался
RegisterClasses([TMyChildPanel]);
Вообще загляните в приведенную ветку, там готовый рабочий пример.
DimaBr (2006-11-16 09:15:00) [7]1.
initialization
RegisterClass(TMyClass)
2.
var fRegister: boolean;
Constructor Create...
begin
inherited;
if not fRegister then begin
fRegister:= true;
RegisterClass(TMyClass);
end;
...
end;