Интернет-решения от доктора Боба

       

Регистрация компонента


При регистрации компонента TUUCode, полезно добавить редактор свойства FileName (InputFile), что обеспечит дополнительный комфорт для конечного пользователя. Редактор этого свойства реализован в модуле UUReg, который регистрирует компонент TUUCode в палитре компонентов Дельфи.

unit UUReg;

 interface

 {$IFDEF WIN32}

   {$R UUCODE.D32}

 {$ELSE}

   {$R UUCODE.D16}

 {$ENDIF}

 uses

   DsgnIntf;

 type

   TFileNameProperty = class(TStringProperty)

   public

     function

GetAttributes: TPropertyAttributes; override;

     procedure



Edit; override;

   end;

 procedure

Register;

 implementation

 uses

   UUCode, Classes, Dialogs, Forms, SysUtils;

   function

TFileNameProperty.GetAttributes: TPropertyAttributes;

   begin

     Result := [paDialog]

   end {GetAttributes};

   procedure

TFileNameProperty.Edit;

   begin

     with

TOpenDialog.Create(Application) do

     try

       Title := GetName; { name of property as OpenDialog caption }

       Filename := GetValue;

       Filter := 'All Files (*.*)|*.*';

       HelpContext := 0;

       Options := Options +

                 [ofShowHelp, ofPathMustExist, ofFileMustExist];

       if

Execute then SetValue(Filename);

     finally

       Free

     end

   end {Edit};

   procedure

Register;

   begin

     { component }

     RegisterComponents('DrBob42', [TUUCode]);

     { property editor }

     RegisterPropertyEditor(TypeInfo(TFilename), nil,

                           'InputFile', TFilenameProperty);

   end {Register};

 end.

Если вы желаете использовать компонент TUUCode  в составе, какого либо пакета, то вы должны поместить компонент UUCode в пакет времени выполнения (runtime package), и модуль UUReg в пакет разработки (design-time), который требует пакет времени выполнения. В действительности, для использования пакетов вы можете использовать UUCode Wizard из следующей главы в пакет времени разработки и сделать его доступным в IDE Delphi для всех пользователей!



Содержание раздела