| 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.