Situation: Zwei Formulare, Hauptformular und Unterformular, und eine Klasse K in einer
Unit.
Im Hauptformular wird eine Instanz
K der Klasse
TK aus der
Unit erzeugt und verwendet. Diese Instanz der Klasse soll jetzt auch im Unterformular benutzt werden. Das Anzeigen des Unterformulares soll allerdings von der Klasse
TK geregelt werden. Das heißt, im Hauptformular wird die Methode
K.Show(???) aufgerufen, die dann das Unterformular aufruft, in dem dann das Objekt
K mit seinen Daten usw. zur Verfügung steht.
Im Moment stehe ich etwas auf dem Schlauch, wie man das regeln könnte. Meine bisherigen Versuche:
Code im Unterformular:
Delphi-Quellcode:
var
FotoBook: TFotoBook;
class procedure TfrmPreview.Show(
fb: TFotoBook);
begin
FotoBook :=
fb;
with TfrmPreview.Create(
nil)
do
begin
ShowModal;
end;
end;
procedure TfrmPreview.FormCreate(Sender: TObject);
begin
FotoBook.PageParent := frmPreview;
FotoBook.Display(0);
// AV!!!
end;
Code in der Klasse:
Delphi-Quellcode:
procedure TFotoBook.ShowPreview(FotoBook: TFotoBook);
begin
TfrmPreview.Show(FotoBook);
end;
Code im Hauptformular:
Delphi-Quellcode:
procedure TfrmMain.Button3Click(Sender: TObject);
begin
FotoBook.ShowPreview(FotoBook);
end;
Ich bekomme aber an markierter Stelle im Code eine
AV. Hinweis: Die
Unit mit der Klasse heißt
Fotobook.pas.