Hallöle!
Ich hab mir vorgenommen, mein Programm aus mehreren Klassen bestehen zu lassen. Bisher gibt es nur 2 Klassen: Unit1 (die Hauptunit) und Bild.
Da ich zum ersten Mal mit mehreren Klassen arbeite, gibt es auch schon das erste Problem.
Hier erstmal der (noch kurze) Quelltext der
Unit Bild:
Delphi-Quellcode:
unit Bild;
interface
uses
Graphics, Dialogs;
type
TBild =
class
private
FCurrentFile:
String;
public
procedure Oeffnen;
end;
implementation
uses Unit1;
procedure TBild.Oeffnen;
begin
If Form1.OpenPictureDialog1.Execute
then
begin
self.FCurrentFile := Form1.OpenPictureDialog1.FileName;
Form1.ImMain.Picture.LoadFromFile(Form1.OpenPictureDialog1.FileName);
Form1.ImMain.Picture.Bitmap.PixelFormat := pf24Bit;
Form1.ImMain.Visible := True;
end;
end;
Die Klasse dient also bisher nur dazu, ein Picture zu öffnen und sich seinen Dateinamen zu merken, damit man beim Speichern nicht immer auf "Speichern unter" klicken muss.
Beim Öffnen eines Bitmaps tritt nun eine Zugriffsverletzung auf. Wenn ich die Zeile
self.FCurrentFile := Form1.OpenPictureDialog1.FileName;
weglasse, tritt der Fehler nicht auf.
Kann mir jemand helfen? Falls es eine bessere Möglichkeit gibt, die Dateinamen zu speichern, wäre ich natürlich auch daran interessiert.
Danke!