Hallo!
In deinem Fall würde ich die Variable für das Bitmap in die Private-Sektion des Form verschieben, im OnCreate-Ereignis des Formulars erzeugen und im OnDestroy-Ereignis wieder freigeben. Damit hast du mit dem Erzeugen des Formulars bereits eine Instanz für dein Bitmap, die beim Beenden wieder entfernt wird.
Delphi-Quellcode:
type
TForm1 = class(TForm)
bBildladen: TButton;
procedure bBildladenClick(Sender: TObject);
private
{ Private-Deklarationen }
DasBitmap: TBitmap;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
//TForm1 OnCreate;
begin
DasBitmap := TBitmap.Create;
end;
//TForm1 OnDestroy;
begin
DasBitmap.Free;
end;
end;
end.
Für das Laden des Bildes würde ich auch auf jeden Fall einen TOpenDialog nehmen. Diesen findest du in der Tool-Palette unter "Dialoge". Schau dir dabei auch mal die Eigenschaften im Objektinspektor an. Interessant für dich könnte u.a. "Filter" sein. Damit kannst du dir nur Dateien mit einer bestimmten Endund (z.B. *.bmp) anzeigen lassen. Der Dialog lässt sich beispielsweise in einer ButtonClick-Prozedur aufrufen:
Delphi-Quellcode:
procedure TfMain.btBildLadenClick(Sender: TObject);
begin
if OpenDialog.Execute then begin //Execute ist True, wenn du den FileDialog mit dem Klicken des OK-Button beendest.
DasBitmap.LoadFromFile(OpenDialog.FileName); //Hier lädst du jetzt das Bild
end;
end;
Zum Anzeigen auf dem Formular bietet sich ein TImage an. Diesem kannst du das geladene Bitmap zur Anzeige zuweisen (mit Image.Picture.Bitmap.Assign).