Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Probleme mit Procedure die ein Frame aufrufen soll (https://www.delphipraxis.net/145570-probleme-mit-procedure-die-ein-frame-aufrufen-soll.html)

ensacom 4. Jan 2010 16:28


Probleme mit Procedure die ein Frame aufrufen soll
 
Hallo, ich habe folgenden code mit dem ich ein frame aufrufen kann.

Delphi-Quellcode:
  if (not assigned(FActiveFrame)) or not (FActiveFrame is TfWohnen1) then
  begin
    freeandnil(FActiveFrame);
    FActiveFrame := TfWohnen1.Create(fMain);
    FActiveFrame.Parent := FramePanel;
  end;

Nun wollte ich daraus eine procedure machen dass ich nur noch das Frame übergeben muss.
Also in der Art

Delphi-Quellcode:
procedure TfMain.loadFrame(Framename: TFrame);
begin
 if (not assigned(FActiveFrame)) or not (FActiveFrame is Framename) then
  begin
    freeandnil(FActiveFrame);
    FActiveFrame := Framename.Create(self);
    FActiveFrame.Parent := FramePanel;
  end;
end;
Aufrufen wollte ich das ganze dann mit
Delphi-Quellcode:
loadFrame(TfWohnen1);

Das funktioniert so nicht, kann mir einer sagen wie es richtig geht?
Der Fehler liegt bei (Framename: TFrame) wie ich das sehe.

Danke schonmal und einen schönen Abend

s.h.a.r.k 4. Jan 2010 16:38

Re: Probleme mit Procedure die ein Frame aufrufen soll
 
Hallo,

so kannst du es machen:
Delphi-Quellcode:
type
  TFrameClass = class of TFrame;

procedure test(a: TFrameClass);
begin
  ;
end;

// Aufruf:
test(TFrame);

turboPASCAL 4. Jan 2010 16:40

Re: Probleme mit Procedure die ein Frame aufrufen soll
 
Zitat:

Zitat von ensacom

Aufrufen wollte ich das ganze dann mit
Delphi-Quellcode:
loadFrame(TfWohnen1);

Das funktioniert so nicht, kann mir einer sagen wie es richtig geht?
Der Fehler liegt bei (Framename: TFrame) wie ich das sehe.

Danke schonmal und einen schönen Abend

Delphi-Quellcode:
loadFrame(fWohnen1);
:stupid:

s.h.a.r.k 4. Jan 2010 16:45

Re: Probleme mit Procedure die ein Frame aufrufen soll
 
Er wollte doch aber den Frame-Typen übergeben haben und nicht eine Instanz davon.

ensacom 4. Jan 2010 21:34

Re: Probleme mit Procedure die ein Frame aufrufen soll
 
Vielen Dank, genau das war was ich gesucht habe.

Einen schönen Abend noch.

ensacom 5. Jan 2010 10:50

Re: Probleme mit Procedure die ein Frame aufrufen soll
 
Jetzt habe ich ein neues Problem.
Wie kann ich nun von meiner MainForm auf eine Komponente auf meinem Frame zugreifen?
Mit fWohnen1.Memo1.Lines.Add('bla') gehts nun nicht mehr.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz