如何从 DFM 流式传输已发布的 TBitmap 属性?

How can I streaming a published TBitmap property from DFM?

我在 Delphi 中创建了一个已发布的 TBitmap 属性 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;

我认为处理此问题的常规方法是对已发布的属性使用 TPicture 而不是 TBitmapTPicture 组件支持流式传输和设计器。