Форум: "Основная";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];
ВнизКак унаследовать компонент из одного пакета в другом? Найти похожие ветки
← →
Kolan © (2008-05-21 13:59) [0]Здравствуйте,
Есть пакет (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;
, так как, мне кажется, что проблемма в том, что эти процедуры находяться в модулях. Может их надо как-то вынести, но нужно ли и как правильно — незнаю.
← →
Игорь Шевченко © (2008-05-21 14:38) [1]
> Поместил пакет A в requires
> пакета B, но это не помогло.
Не может быть
← →
Kolan © (2008-05-21 15:18) [2]>
> Не может быть
Благодарю, помогло :-).
Запутался в названиях пакета. Просто название секции совпадало с названием пакета A. АTKMultiImageButton
находиться в пакете С, а регистрируется в секции с названием как у пакета A.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c