Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо