Autor Beitrag
Olaf
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 04.01.03 21:54 
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.
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 04.01.03 22:10 
Meinst du das?

ausblenden Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.CreateForm(TForm2, Form2);
  Form2.ShowModal;
end;
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Sa 04.01.03 22:14 
ich glaube der meint die formulare anderer anwendungen
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Sa 04.01.03 22:21 
Titel: warum showmodal???
Warum sagst du direkt
ausblenden Quelltext
1:
form2.showmodal;					

und nicht
ausblenden Quelltext
1:
form2.show;					

denn er hat nichts davon gesagt, dass er die Form Modal öffnen will!! 8)


Fiji-Fighter
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: 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
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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:

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