1

Delphi 7 でパブリッシュされた TBitmap プロパティを作成しました。その値は、設計時にエディタで設定できます。エディタを思い出すと、正しい図が表示されます。しかし、フォームを保存して閉じ、再度開くと、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;
4

1 に答える 1