Ich habe eine veröffentlichte TBitmap-Eigenschaft in Delphi 7 erstellt. Ich kann den Wert vom Editor in der Entwurfszeit einstellen und wenn ich den Editor zurückrufe, kann ich das richtige Bild sehen. Aber wenn ich das Formular speichern, schließen und erneut öffnen, ist die TBitmap-Eigenschaft leer. Was fehlt? Ich weiß, dass es die geladene virtuelle Methode gibt. Aber was soll ich damit machen?Wie kann ich eine veröffentlichte TBitmap-Eigenschaft von DFM streamen?
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;
Machen Sie die Eigenschaft 'TPicture' Streaming-Unterstützung haben –
Vielen Dank David! Dein Vorschlag hat mein Problem gelöst! –