"Интернет решения от доктора Боба" - читать интересную книгу автора (Swart Bob)
1.1.11. Регистрация компонента
При регистрации компонента 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 для всех пользователей!