Thema: Delphi Frames Problem

Einzelnen Beitrag anzeigen

Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Frames Problem

  Alt 5. Mär 2008, 17:04
Klar, kann ich das.

Du erzeugst Dein Fenster hiermit:

Delphi-Quellcode:
procedure TFrmMain.ModalesFensterffnen1Click(Sender: TObject);
var
  ModalesFenster : TFrmModalesFenster;
begin
  ModalesFenster := TFrmModalesFenster.Create(self);
  ModalesFenster.Show;
end;
Beachte, dass Du hier die Variable ModalesFenster deklarierst und damit das Fenster erstellst und aufrufst.

In Deinem modalen Fenster erzeugst Du damit Deinen Frame (das ist der alte Code!):

Delphi-Quellcode:
procedure TFrmModalesFenster.btnAnzeigenClick(Sender: TObject);
var
  MeineFrame : TMeineFrame;
begin
  MeineFrame := TMeineFrame.Create(self);
  MeineFrame.Parent := FrmModalesFenster;
end;
Du setzt den Parent auf FrmModalesFenster, welches aber, da Du oben eine eigene Variable definiert hast, gar nicht initialisiert ist.

Das heißt, Du setzt den Parent auf eine nicht initialisierte Variable, demnach wird das Fenster nicht angezeigt.

Um das Problem zu lösen, kannst Du entweder mit Self arbeiten, oder Du änderst den Code zum Erstellen des Fenster wie folgt ab:

Delphi-Quellcode:
procedure TFrmMain.ModalesFensterffnen1Click(Sender: TObject);
begin
  FrmModalesFenster := TFrmModalesFenster.Create(self);
  FrmModalesFenster.Show;
end;
So klappt es dann auch wieder.
  Mit Zitat antworten Zitat