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