![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как унаследовать компонент из одного пакета в другом?
Kolan © (2008-05-21 13:59:00)Здравствуйте,
Есть пакет (bpl), A. В этом пакете находится такой код:
TKMultiImageButton = class(TGraphicControl)
private
{...}
{ Private declarations }
protected
{ Protected declarations }
{...}
public
{ Public declarations }
{...}
published
{ Published declarations }
{...}
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('KSoftWare', [TKMultiImageButton]);
end;
И есть второй пакет, B. В нем есть наследник вышеописанного класса:
TScreenNavigationButton = class(TKMultiImageButton)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('KTouchScreenControls', [TScreenNavigationButton]);
end;
Пакет Ауже установлен. Если установить пакет B, то при запуске Delphi сообщает, что TKMultiImageButton не может быть зарегичтрирован, так как он уже был зарегистрирован в пакете A. Поместил пакет Aвrequires
пакета B, но это не помогло.
Вопросы:
1. Почему так получается?
2. Как исправить?
PS
Я специально привелprocedure Register;, так как, мне кажется, что проблемма в том, что эти процедуры находяться в модулях. Может их надо как-то вынести, но нужно ли и как правильно незнаю.
Kolan (2008-05-21 15:18:00) [1]>
> Не может быть
Благодарю, помогло :-).
Запутался в названиях пакета. Просто название секции совпадало с названием пакета A. АTKMultiImageButtonнаходиться в пакете С, а регистрируется в секции с названием как у пакета A.
Игорь Шевченко (2008-05-21 14:38:00) [2]
> Поместил пакет A в requires
> пакета B, но это не помогло.
Не может быть