![]() |
Re: Problem mit Klassen
Zitat:
|
Re: Problem mit Klassen
Dafür könnte man ja dann ne Extra-Direktive einführen. :D
|
Re: Problem mit Klassen
Zitat:
Delphi-Quellcode:
procedure TBild.Oeffnen(Dlg: TOpenPictureDialog; Img: TImage);
begin If Dlg.Execute then begin self.FCurrentFile := Dlg.FileName; Img.Picture.LoadFromFile(Dlg.FileName); Img.Picture.Bitmap.PixelFormat := pf24Bit; Img.Visible := True; end; end; |
Re: Problem mit Klassen
Ja. Nur hier würde ich auch gleich den Dateiname übergeben:
Delphi-Quellcode:
TBild.Oeffnen(FileName: String; Img: TImage);
... self.FCurrentFile := FileName; |
Re: Problem mit Klassen
Zitat:
|
Re: Problem mit Klassen
Zitat:
|
Re: Problem mit Klassen
Zitat:
Da ich davon ausgehe, dass Du jetzt kein spezielles TOpenPictureDialog konfigueriert hast, würde ich diesen auch selbst in deiner Klasse erzeugen. Dann brauchst Du nämlich gar nix übergeben... Etwa so:
Delphi-Quellcode:
procedure TBild.Oeffnen(Img: TImage);
var dlg : TOpenPictureDialog ; begin try Dlg := TOpenPictureDialog.create (Self) ; // Hier kannst Du natürlich noch weiter Dlg Eigenschaften einstellen, wie z.B. Dlg.Title oder Dlg.Filter If Dlg.Execute then begin self.FCurrentFile := Dlg.FileName; Img.Picture.LoadFromFile(Dlg.FileName); Img.Picture.Bitmap.PixelFormat := pf24Bit; Img.Visible := True; end; finally Dlg.Free ; end ; end; |
Re: Problem mit Klassen
Zitat:
Zitat:
Noch ne Frage: Wozu ist der try-finally-Block erforderlich. Kann es etwa sein, dass er es nicht schafft den Dialog zu createn? |
Re: Problem mit Klassen
Zitat:
Delphi-Quellcode:
Wäre so besser, da Du sonst versuchst etwas freizugeben, was vielleicht gar nicht erzeugt worden ist, im Falle wenn das Erzeugen des Dialogs schon fehlschlägt.
procedure TBild.Oeffnen(Img: TImage);
var dlg : TOpenPictureDialog ; begin Dlg := TOpenPictureDialog.create (Self) ; try // Hier kannst Du natürlich noch weiter Dlg Eigenschaften einstellen, wie z.B. Dlg.Title oder Dlg.Filter If Dlg.Execute then begin self.FCurrentFile := Dlg.FileName; Img.Picture.LoadFromFile(Dlg.FileName); Img.Picture.Bitmap.PixelFormat := pf24Bit; Img.Visible := True; end; finally Dlg.Free ; end ; end; |
Re: Problem mit Klassen
Zitat:
Zitat:
Delphi-Quellcode:
Dlg := TOpenPictureDialog.create (nil) ;
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz