Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Öffnen von Formularen
Olaf - Sa 04.01.03 21:54
Titel: Öffnen von Formularen
Wer kann mir da einen Tipp geben: Wie kann ich Formulare über ihren Namen öffnen, die sich noch nicht im Speicher befinden? Der Name steht zum Beispiel als Caption auf einer Schaltfläche.
Anonymous - Sa 04.01.03 22:10
Meinst du das?
Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Button1Click(Sender: TObject); begin Application.CreateForm(TForm2, Form2); Form2.ShowModal; end; |
torstenheinze - Sa 04.01.03 22:14
ich glaube der meint die formulare anderer anwendungen
Raphael O. - Sa 04.01.03 22:21
Titel: warum showmodal???
Warum sagst du direkt
und nicht
denn er hat nichts davon gesagt, dass er die Form Modal öffnen will!! 8)
Fiji-Fighter
torstenheinze - Sa 04.01.03 22:42
er wollte damit bezwecken, das eine nachfrage kommt, wie zb:
wieso muss ich die form erst schließen um weiter zu arbeiten?
:D :wink:
Raphael O. - Sa 04.01.03 23:05
Titel: Oops
:oops: :oops:
Warum sagt mir das denn keiner??? :wink:
In Zukunft bitte immer mitreinschreiben: Mit dem umständlichen und irreführenden Code will ich nur eine Nachfrage bezwecken, deshalb bitte nicht richtigstellen :!: :!: :wink: :wink: :wink:
Fiji-Fighter
Anonymous - So 05.01.03 00:24
Titel: Re: Oops
| Fiji-Fighter hat folgendes geschrieben: |
| In Zukunft bitte immer mitreinschreiben: Mit dem umständlichen und irreführenden Code will ich nur eine Nachfrage bezwecken, deshalb bitte nicht richtigstellen |
In Zukunft bitte immer vorher überlegen ob das seine Richtigkeit hat, und nicht sofort meckern. :) Außerdem ist ShowModal nicht umständlicher als Show. Und was ist daran irreführend?
Mein Beispiel ist nicht perfekt, aber mit Show wäre er ganz daneben. Wenn ich nur Show genommen hätte, dann wäre pro Buttonklick ein Formular erstellt worden. Hätte ich also 10 mal auf den Button geklickt, dann hätte ich 1 + 10 Formulare aufgerufen (1 Form1 und 10 Form2). Bei ShowModal muß zuerst das Formular2 geschlossen werden um ein neues zu erstellen. Ich kann also nicht 10 mal klicken und so 10 Formulare gleichzeitig erstellen. Ich gebe zu, daß ich das Form2.Free vergessen habe. Aber wer ist schon perfekt.
Das ganze sollte so aussehen:
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.Button1Click(Sender: TObject); begin Application.CreateForm(TForm2, Form2); Form2.ShowModal; Form2.Free; end; |
Testet es also selber. Form1 und Form2 erstellen. Form2 nicht automatisch erstellen lassen, sondern nur als verfügbares Formular definieren. Dann testet meine Codes ein mal mit ShowModal und ein mal mit Show. Dann bitte noch ein mal zu Wort melden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!