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 neues form während der laufzeit generieren (https://www.delphipraxis.net/59008-neues-form-waehrend-der-laufzeit-generieren.html)

mastertq 15. Dez 2005 19:10


neues form während der laufzeit generieren
 
die aufgabe ist ganz einfach:
hab das ursprüngliche hauptformular. will jetzt das
1. ein neues form während der laufzeit generiert wird und es
2. beim klicken auf einen button sichtbar wird

tomsel 15. Dez 2005 19:16

Re: neues form während der laufzeit generieren
 
Zitat:

1. ein neues form während der laufzeit generiert wird und es
Delphi-Quellcode:
...
formVariable := TformIrgendwas.Create(Application); // Application nur als Beispiel
...
Zitat:

2. beim klicken auf einen button sichtbar wird
Delphi-Quellcode:
...
formVariable.Show;
...

mastertq 15. Dez 2005 19:46

Re: neues form während der laufzeit generieren
 
und was muss ich sonst noch machen???
weil das genügt ja nicht.
und was soll ich für (application einsetzten!!!
mal konkret: das hauptformular heißt form1 standart halt
das neue formular soll graph heißen. wa muss ich noch machen???

mastertq 15. Dez 2005 20:08

Re: neues form während der laufzeit generieren
 
also ich ahb eine unit für das programm erstellt und unter uses eingebunden
beim aufruf
graph := Tgraph.Create(form1);
sagt es mir '.'erwartet, aber ':=' gefunden!!
woran kann das liegen???

ichbins 15. Dez 2005 20:17

Re: neues form während der laufzeit generieren
 
Vielleicht gibt es den Typen "tgraph" ja garnicht? Schau mal oben in deiner Unit nach ob unter type da irgendwo ein tgraph steht.

mach mal das:

Delphi-Quellcode:
graph:=tform1.create(application); //application bedeutet das der Dierekte "Besitzer" des Forms die Anwendung ist. Du könntest auch form1 eingeben etc.
dann brauchst du natürlich auch noch eine Variablendeklaration a la
Delphi-Quellcode:
var
  form1:tform1; //Standart, schon von Anfang an eingefügt
  graph:tform1; //Musst du einfügen
das Form GRAPH ist dann genau gleich wie form1. Um ein leeres Form zu erzeugen nimmst du den Typen tform:
Delphi-Quellcode:
var
  graph:tform;

[...]

graph:=tform.create;

[...]

graph.showmodal;  //showmodal wenn das Form immer im Vordergrund bleiben und form1 deaktiviert sein soll. bei show wird das Form parralel zu form1 betrieben.

tomsel 15. Dez 2005 20:24

Re: neues form während der laufzeit generieren
 
also: Du hast ein Form im Projekt mit Namen 'Graph'. Der Klassentyp des Forms müsste demnach TGraph heißen. Und es sollte eine Variable Graph vom Typ TGraph existieren. Dann geht es so:

Delphi-Quellcode:
...
Graph := TGraph.Create(Form1);
Graph.Show; // danach wird das Fenster angezeigt
...
...
Graph.Free;
...
Form1 wird hierbei zum Owner von Graph, 'Application' könnte man hier aber auch einsetzen oder auch NIL, wenn es gar keinen Owner haben soll.

--------------------------------------------------------------------
wie ich soeben sehe, wurde mir das Wort schon aus dem Munde genommen, aber was soll's...

tomsel 15. Dez 2005 20:29

Re: neues form während der laufzeit generieren
 
und überhaupt
Zitat:

Titel: neues form während der laufzeit generieren
wann kann man ein Form den sonst noch generieren? Während der Compilezeit? einer Auszeit? der Brotzeit?
:xmas:

mastertq 15. Dez 2005 20:37

Re: neues form während der laufzeit generieren
 
danke an alle die geholfen haben!!!
nachdem ich alle tipps miteinander kombiniert hats geklappt
:hello:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 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