Конференция "Компоненты" » DesignEditors — почемуто не находит этот модуль.
 
  • Kolan © (09.04.07 15:14) [0]
    Пустой пакет создал. В uses вставляю сабж. получаю:
    [Pascal Fatal Error] KWizzardComponentsComponents.pas(5): F1026 File not found: 'DesignEditors.dcu'

    Почему?
  • Юрий Зотов © (09.04.07 15:35) [1]
    Все как обычно - надо прописать пути поиска.
  • Kolan © (09.04.07 15:37) [2]
    > [1] Юрий Зотов ©   (09.04.07 15:35)
    > Все как обычно — надо прописать пути поиска.

    Какие? ToolsAPI ?
  • Kolan © (09.04.07 15:41) [3]
    >
    > Какие? ToolsAPI ?

    Если да, то:
    [Pascal Fatal Error] DesignEditors.pas(609): F1026 File not found: 'Proxies.dcu'


    Уже в самом DesignEditors.pas
  • Юрий Зотов © (09.04.07 17:54) [4]
    > Kolan ©   (09.04.07 15:41) [3]

    Да, ToolsAPI. А что касается модуля Proxies - см. сюда:
    http://pda.delphimaster.net/?id=1164472597&n=12
  • Kolan © (09.04.07 18:18) [5]
    Так, понятно.
    Только не понятно как понять что включить в run time, а что в дизайн.

    У меня два «Custom» класса, которые обеспечивют нужную функциональность в одном модуле.
    И их потомки, которые публикуют нужные свойства в другом модуле. Тут же и
    Register

    процедура.

    Что куда включать?
  • Юрий Зотов © (09.04.07 18:25) [6]
    В design-time - все то, что нужно только для IDE. Включая процедуру Register (которую для этого можно вынести в отдельный модуль).

    Остальное - в run-time.

    Все это для того, чтобы не тащить в будущие приложения кода и ресурсов, которые им на фиг не нужны, а нужны только IDE.
  • Kolan © (10.04.07 11:29) [7]
    Получилось вроде.

    А где лежит:
    RegisterComponentEditor
    ?

    В справке не написано…
  • Юрий Зотов © (10.04.07 11:35) [8]
    И поиск не работает?
    :o)
  • Kolan © (10.04.07 11:51) [9]
    А нашел: DesignIntf
  • Kolan © (10.04.07 12:08) [10]
    Странно устанавливаю:
    procedure Register;
    begin
    RegisterComponents('KSoftWareWizzard', [TWizzard]);

    RegisterClass(TWizzardPage);

    RegisterComponentEditor(TWizzard, TWizzardEdit);

    end;



    Говорит что TWizzard был зарегистрирован. Открываю среду(новую) нет ни
    KSoftWareWizzard

    ни TWizzard ессно тоже…
  • Kolan © (10.04.07 13:19) [11]
    unit KWizzardComponentsComponents;

    interface
    uses
     KWizzardComponentsObjects, DesignEditors, DesignIntf;
    type
     

     TWizzardEdit = class(TDefaultEditor)
     private
     public
       function GetVerb(Index: Integer): String; override;
       function GetVerbCount: Integer; override;
       procedure ExecuteVerb(Index: Integer); override;
     end;

    procedure Register;

    implementation

    uses Classes;

    procedure Register;
    begin
    RegisterComponents('KSoftWareWizzard', [TWizzard]);
    RegisterClass(TWizzardPage);
    RegisterComponentEditor(TWizzard, TWizzardEdit);
    end;
    { TWizzardEdit }

    procedure TWizzardEdit.ExecuteVerb(Index: Integer);
    begin
     inherited;

    end;

    function TWizzardEdit.GetVerb(Index: Integer): String;
    begin
     case Index of
       0: Result := 'Add wizzard page';
     end;
    end;

    function TWizzardEdit.GetVerbCount: Integer;
    begin
     Result := 0;
    end;



    Вот текст модуля. Правильно ли японял что все остальное должно быть в другом юните?

    Или классы типа:
  • Kolan © (10.04.07 13:19) [12]
    Или классы типа:

    TWizzardPage = class(TCustomWizzardPage)
     published
       property OnShow;
       property OnHide;
       property OnExecute;
       property OnUnExecute;
       property OnOpeartionChange;

       property NextPage;
       property PreviousPage;
     end;



    Надо тоже тут оставить?
  • Kolan © (10.04.07 13:30) [13]
    > Надо тоже тут оставить?

    Сделал так. Теперт роворит что TWizzardPage уже существует. А где оно? Как удалить?
  • Kolan © (10.04.07 15:17) [14]
    > Все это для того, чтобы не тащить в будущие приложения кода
    > и ресурсов, которые им на фиг не нужны, а нужны только IDE.

    А много там(примерно)?
  • DimaBr (10.04.07 15:33) [15]

    > А много там(примерно)?

    Кто ж его знает - вопрос к разработчику.
    Говорит что TWizzard был зарегистрирован. Открываю среду(новую) нет ни KSoftWareWizzard ни TWizzard ессно тоже…
    Варианты:
    1. В обция проэкта снята галочка для этого пакета
    2. Компонет спятан.

    RegisterClass(TWizzardPage); - скорее всего нужно перенести в секцию инициализации модуля с компонентом
  • Kolan © (10.04.07 16:27) [16]
    Благодарю за обсуждение. Особенно благодарю Наиля, которого я в аське мучал целый час.
  • DimaBr (10.04.07 16:48) [17]

    > которого я в аське мучал целый час.

    Повезло Наилю, меня "мучали" несколько дней...
  • Kolan © (10.04.07 17:19) [18]
    > Повезло Наилю, меня «мучали» несколько дней…

    Это был не я :)
  • DimaBr (11.04.07 09:13) [19]

    > Это был не я :)

    Нет, это был Александр (кликуху не помню)
  • {RASkov} (11.04.07 13:30) [20]
    > [19] DimaBr   (11.04.07 09:13)
    > Нет, это был Александр

    Сергеевич? :)
    Привет.
  • DimaBr (11.04.07 13:59) [21]
    Привет ! а чо в скобках, когда мы увидим PicMenu ?
  • {RASkov} (11.04.07 14:33) [22]
    > а чо в скобках,

    Кому-то очень понравился мой "ник" и этот кто-то его зарегистрировал...

    > когда мы увидим PicMenu ?

    :) Он у тебя есть :)
    Да чет все никак не собирусь его доделать/переделать....
 
Конференция "Компоненты" » DesignEditors — почемуто не находит этот модуль.
Есть новые Нет новых   [119247   +10][b:0][p:0.002]