Thema: Delphi property Tbitmap

Einzelnen Beitrag anzeigen

Sebastian Nintemann
(Gast)

n/a Beiträge
 
#1

property Tbitmap

  Alt 28. Sep 2003, 18:14
Hallo!

Also...

Ich hab eine Klasse (keine Komponente, habs trotzdem mal hier reingestellt weils denk ich das gleiche Problem bei einer Komponente gibt), die eine Eigenschaft Image vom Typ TBitmap hat. Also etwa so:

Delphi-Quellcode:
type TTest = class(TObject)
  private
    FImage: TBitmap;
    procedure SetImage(const ABitmap: TBitmap);
  public
    constructor Create;
    destructor Destroy; override;
    property Image: TBitmap read FImage write SetImage;
end;

implementation

constructor TTest.Create;
begin
  inherited Create;
  FImage := TBitmap.Create;
end;

destructor TTest.Destroy;
begin
  FreeAndNil(FImage);
  inherited Destroy;
end;

procedure TTest.SetImage(const ABitmap: TBitmap);
begin
  FImage.Assign(ABitmap);
  ShowMessage('ausgelöst');
end;
Wie zu sehen ist, hab ich zu Testzwecken in der SetImage-Methode ein ShowMessage eingebaut. Weise ich nun ein Bild mit
Test.Image := Bitmap; zu, so wird mir die auch brav angezeigt.
Wenn ich aber folgendes mache
Test.Image.LoadFromFile('C:\test.bmp'); dann wird Image verändert, ohne dass ich Kontrolle darüber habe, SetImage wird nicht aufgerufen. Wichtig wird das, wenn ich später auf bestimmte Sachen beim Zuweisen des Bildes achten muss.
Jemand ne Idee wie ich in solchen Fällen die Kontrolle behalten/ das Problem umgehen kann?

Gruß, Sebastian
  Mit Zitat antworten Zitat