Как я могу транслировать опубликованное свойство TBitmap из DFM?
Я создал опубликованное свойство TBitmap в Delphi 7. Я могу установить его значение редактором во время разработки, и, если я вспомню редактор, я смогу увидеть правильную картинку. Но когда я сохраняю, закрываю и снова открываю форму, свойство TBitmap остается пустым. Чего не хватает? Я знаю, что есть загруженный виртуальный метод. Но что мне в этом делать?
TCustomComponent = class ( TComponent )
private
fBitmap : TBitmap;
protected
procedure loaded; override;
procedure setBitmap( bitmap_ : TBitmap );
public
constructor create( owner_ : TComponent ); override;
destructor destroy; override;
published
property bitmap : TBitmap read fBitmap write setBitmap;
end;
procedure TCustomComponent.loaded;
begin
inherited loaded;
// ???
end;
procedure TCustomComponent.setBitmap( bitmap_ : TBitmap );
begin
fBitmap.assign( bitmap_ );
end;
constructor TCustomComponent.create( owner_ : TComponent );
begin
inherited create( owner_ );
fBitmap := TBitmap.create;
end;
destructor TCustomComponent.destroy;
begin
fBitmap.free;
inherited destroy;
end;
1 ответ
Решение
Я считаю, что обычный способ борьбы с этим заключается в использовании TPicture
вместо TBitmap
для опубликованных свойств. TPicture
Компонент поставляется с поддержкой потоковой передачи и дизайнера.