Конференция "Компоненты" » Добавление модуля в uses при создании обработчика события
 
  • atruhin © (01.08.09 12:47) [0]
    Есть модуль редактора, в нем описан тип. Пример:
    unit AAA
    interface

    type
     TEditData = record ... end
    ....

    end;


    Есть модуль компонента
    unit BBB;
    interface
    uses AAA;
    type
    TOnEditEvent = procedure (MyVar : TEditData) of object;
    TMyComponent = class(TComponent)
    ...
    published
    property OnMyEdit : TOnEditEvent ...


    Проблемма в следующем, когда я кидаю на форму компонент, и создаю обработчик OnMyEdit,
    в uses прописывается только модуль компонента BBB. Т.к. тип TEditData описан в AAA
    получаем ошибку компиляции.
    Можно ли заставить delphi при использавании компонента автоматически включать в uses и AAA и BBB?
  • DimaBr © (03.08.09 09:20) [1]
    Можно, для этого переместите ваш компонент в нужный модуль, или же сделайте родителя в нужном модуле.
    Первый модуль

    unit AAA
    interface

    type
    TMyComponent = class(TComponent);
    type
    TEditData = record ... end
    ....

    end;


    Второй модуль

    unit BBB;
    interface
    uses AAA;
    type
    TOnEditEvent = procedure (MyVar : TEditData) of object;
    TMySuperComponent = class(TMyComponent)

  • icWasya © (03.08.09 14:58) [2]
    В uses прописываются только те юниты, в которых есть процедура Register, и только для тех компонент, которые в ней перечислены.
    а вместо [1] можно сделать так

    unit AAA
    interface

    type
    TEditData = record ... end
    ....

    end;

    Второй модуль

    unit BBB;
    interface
    uses AAA;
    type
     TEditData = AAA.TEditData;//<<<===-----
    type
     TOnEditEvent = procedure (MyVar : TEditData) of object;


  • DimaBr © (03.08.09 15:38) [3]
    > В uses прописываются только те юниты, в которых есть процедура Register
    Полная ерунда
  • atruhin © (03.08.09 17:15) [4]
    Спасибо. Идеи понятны. Буду пробовать.
 
Конференция "Компоненты" » Добавление модуля в uses при создании обработчика события
Есть новые Нет новых   [120275   +44][b:0][p:0.001]