Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Ein TForm in eine Variable kopieren (https://www.delphipraxis.net/66473-ein-tform-eine-variable-kopieren.html)

Karstadt 30. Mär 2006 07:27


Ein TForm in eine Variable kopieren
 
Hallo. Ich habe ein Formular den ich aus einen bestimmten Grund im Programm an zwei stellen benutzen mus: So gehe ich vor:

Delphi-Quellcode:
  var neueform : TForm;
begin
  neueform := Tf_ag.create(Self);
  with neueform do
  begin
    FormStyle := fsNormal;
    Visible := False;
    Height := 560;
    Width := 750;
    Showmodal;
    Free;
  end;
end;
Das Problem ist, das ich in f_ag eine Funktion deklariert habe die ich in neueform aufrufen muss:

neueform.Suche;

Das geht aber nicht, undefenierter bezeichner. Warum?

TBx 30. Mär 2006 07:30

Re: Ein TForm in eine Variable kopieren
 
Hallo Karstadt!

Dein Problem liegt hier:

Delphi-Quellcode:
var neueform : TForm;
Du gibst hier als Typ TForm an. Richtig wäre es, den Typ Deiner Form anzugeben, dieser ist sicherlich von TForm abgeleitet.
Dann kannst DU auch alle Methoden der Form benutzen.

Gruß

onlinekater

Karstadt 30. Mär 2006 07:43

Re: Ein TForm in eine Variable kopieren
 
Delphi-Quellcode:
var neueform : Tf_ag;
begin
  neueform := neueform.create(Self);
  with neueform do
  begin
    FormStyle := fsNormal;
    Visible := False;
    Height := 560;
    Width := 750;
    Showmodal;
    Free;
  end;
Nun habe ich aber eine FMeldung:
Komponente mit dieser Bezeichnung existiert bereits

Angel4585 30. Mär 2006 07:45

Re: Ein TForm in eine Variable kopieren
 
Delphi-Quellcode:
 var neueform : Tf_ag;
begin
  neueform := Tf_ag.create(Self); //Hier war ein Fehler
  with neueform do
  begin
    FormStyle := fsNormal;
    Visible := False;
    Height := 560;
    Width := 750;
    Showmodal;
    Free;
  end;
oder hast du einfach ne zweite Variable deklariert, die "neueform" heisst?

Karstadt 30. Mär 2006 07:52

Re: Ein TForm in eine Variable kopieren
 
Das funktioniert. Nun habe ich eine weiter frage.

Beim Starten kommt ein Fenster was nach 1 Sekunde verschwindert und dann kommt das eigentliche Fenster. Was kann das sein?

Angel4585 30. Mär 2006 07:56

Re: Ein TForm in eine Variable kopieren
 
Geh mal auf "Ansicht -> Units" und öffne die Unit die so heisst wie das Projekt und schau dir die mal durch, such nach einem Formular, das vor dem eigentlichen Fenster erzeugt wird.

Karstadt 30. Mär 2006 08:12

Re: Ein TForm in eine Variable kopieren
 
Kann das sein das dieses Verhalten deswegen auftritt, weil das Fenster was ich in die Varialbe übergebe FormStyle : fsMDIChild hat

TBx 30. Mär 2006 08:44

Re: Ein TForm in eine Variable kopieren
 
Wenn das Form, auf dem Du neueform generierst ein MDIForm ist, ist das durchaus möglich.
Du kannst neueform ja mal auf nil oder über Application.CreateForm generieren.

Gruß

Thomas

Karstadt 30. Mär 2006 09:54

Re: Ein TForm in eine Variable kopieren
 
Delphi-Quellcode:
var neueform : Tf_ag;
begin
  neueform := Tf_ag.create(Self); //Hier war ein Fehler
  //Das Form f_ag ist ein MDI Form das soll ich nun als Modal aufrufen
  with neueform do
  begin
    FormStyle := fsNormal;
    Visible := False;
    Height := 560;
    Width := 750;
    Showmodal;
    Free;
  end;
Zitat:

Du kannst neueform ja mal auf nil oder über Application.CreateForm generieren.
Wie meinst du das?

Karstadt 30. Mär 2006 09:54

Re: Ein TForm in eine Variable kopieren
 
Zitat:

Geh mal auf "Ansicht -> Units" und öffne die Unit die so heisst wie das Projekt und schau dir die mal durch, such nach einem Formular, das vor dem eigentlichen Fenster erzeugt wird.
Was genau würde das bringen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr.
Seite 1 von 2  1 2      

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