Конференция "Основная" » Как унаследовать компонент из одного пакета в другом?
 
  • Kolan © (21.05.08 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;

    , так как, мне кажется, что проблемма в том, что эти процедуры находяться в модулях. Может их надо как-то вынести, но нужно ли и как правильно — незнаю.
  • Игорь Шевченко © (21.05.08 14:38) [1]

    > Поместил пакет A в requires
    > пакета B, но это не помогло.


    Не может быть
  • Kolan © (21.05.08 15:18) [2]
    >
    > Не может быть

    Благодарю, помогло :-).
    Запутался в названиях пакета. Просто название секции совпадало с названием пакета A. А
    TKMultiImageButton

    находиться в пакете С, а регистрируется в секции с названием как у пакета A.
 
Конференция "Основная" » Как унаследовать компонент из одного пакета в другом?
Есть новые Нет новых   [134491   +8][b:0][p:0.001]