Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - viele fenster öffnen
sam3st - Mo 20.11.06 22:54
Titel: viele fenster öffnen
hallo,
ich bin dabei einen messenger zu schreiben, das grundgerüst steht, hab jetzt nur ein problem: die nachrichtenfenster!
wie kann ich für einzelne user neue eigene fenster (forms?) erstellen und öffnen?
wulfskin - Mo 20.11.06 23:59
FORM DYNAMISCH ERSTELLEN
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var Form: TForm; begin Form := TForm.Create(Self); Form.Show; end;
Action := caFree; |
sam3st - Di 21.11.06 00:09
Titel: hab noch probleme falls das fenster schon existiert
habe folgenden code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| uses ...,unit2;
... var fenster:tform2;
procedure TForm1.ListBox1DblClick(Sender: TObject); begin try fenster:=TForm2.Create(Self); fenster.Name:=form1.buddysneu.selected.caption; fenster.Caption:='Unterhaltung mit '+form1.buddysneu.selected.caption; fenster.Show; finally findcomponent(form1.buddysneu.selected.caption); fenster:=TForm2(FindComponent(form1.buddysneu.selected.caption)); fenster.SetFocus; end; |
wenn ein fenster jedoch erneut erstellt wird kommt ein fehler... wie fange ich den vernünftig ab?
wulfskin - Di 21.11.06 00:15
Weisst du überhaupt, was du in Zeile 15-17 machst? Kommentier doch einfach mal alles ab Zeile 14 aus und schau dann, ob es geht!
sam3st - Di 21.11.06 00:34
also zeile 15 denk dir bitte weg, die existiert nicht.
zeile 16 und 17 sucht das fenster und setzt den fokus drauf (falls ein fehler auftritt, der trotzdem auftritt)
ausserdem kommt der erst gar nicht zu diesen zeilen, da vorher bereits ein fehler auftritt wenn das fenster schon existiert.
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!