Autor |
Beitrag |
Flash106
      
Beiträge: 234
D7 Ent
|
Verfasst: Do 31.03.05 20:19
Hallo,
1. Wie kann ich ein formular dynamisch erzeugen wenn ich auf einen Button klicke?
2. Ich möchte immer wieder auf den Button klicken und ein neues Formular erzeugen können, aber danach auch jedes formular einzeln ansprechen können.
3. Ich möchte, wenn ich auf einen anderen Button klicke, das sich dann alle formular schließen.
Wie realisiere ich sowas am besten???
Danke im vorraus... 
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Do 31.03.05 20:35
|
|
Flash106 
      
Beiträge: 234
D7 Ent
|
Verfasst: Do 31.03.05 21:02
hm.. das doofe ist das ich immer ein und das selbe formular damit erzeuge... ich brauche aber unterschiedlichte. Wenn ich z.b. eine button drauf tue der ein info fenster zeigt darf das nicht bei allen forms sein. ich brauch keine instanz vom hauptformular sonder eigenständige formulare...
|
|
der_zaehe
      
Beiträge: 317
WinXP SP2
D6 Pers, D2005 Prof, VS2005
|
Verfasst: Do 31.03.05 21:02
ich bin auch erst kürzlich dahinter gekommen, wie das geht und habe das problem auf meine art und weise gelöst:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| ... private FensterListe : TStringList;´ ...
procedure TForm1.FormCreate(Sender: TObject); begin FensterListe := TStringList.Create; end;
procedure TForm1.Button1Click(Sender: TObject); var Form2 : TForm2; begin Form2 := TForm2.Create(self); Form2.Show; FensterListe.AddObject('Bla',Form2); end;
procedure TForm1.Button2Click(Sender: TObject); var i : Integer; begin for i := 0 to FensterListe.Count-1 do TForm2(FensterListe.Objects[i]).Close; end; |
ich hab den Code jetzt net getestet aber so ähnlich hat der bei mir funktioniert.
das Application.CreateForm lass für dein dynamisch erstelltes Formular am besten ganz weg.
du kannst die einzelnen Formulare auch unterscheiden, indem du sie unter verschiedenen Namen in die TStringList einträgst. Dann kannst du mit
Delphi-Quelltext 1:
| TForm2(FensterListe.Objects[FensterListe.IndexOf(<Name des Fensters, von dir vergeben>)]) |
auf das gewünschte Fenster zugreifen.
ich hoff ich hab dich jetz net missverstanden und du meinst das dynamische Erzeugen unterschiedlicher Formulare.
_________________ [inspirationslos]
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Do 31.03.05 21:11
|
|
der_zaehe
      
Beiträge: 317
WinXP SP2
D6 Pers, D2005 Prof, VS2005
|
Verfasst: Do 31.03.05 21:18
mist
stimmt
an den object-typ hab ich grad gar net gedacht. ich programmier noch net soo lange (3/4 jahr?) und hab dem entsprechend delphi-erfahrung
also: TList statt TStringList
_________________ [inspirationslos]
|
|
cutelaw
      
Beiträge: 27
Win XP Prof
D5 Prof, D7 Prof, D9 Prof
|
Verfasst: Fr 01.04.05 08:43
joa, nimmm auf alle fälle TList. und beim button 2 sollteste die formulare auch wieder freigeben, die verbraten sonst weiterhin speicher. oder in einer liste merken und bei button1 drauf prüfen, und ggf. die bereits vorhandenen unbenutzten forms wieder verwenden.
|
|
der_zaehe
      
Beiträge: 317
WinXP SP2
D6 Pers, D2005 Prof, VS2005
|
Verfasst: Fr 01.04.05 22:30
ach, deshalb musste ich mich immer wundern, warum meine programme in laufzeit immer mehr arbeitsspeicher verbraucht haben 
_________________ [inspirationslos]
|
|
Muetze1
      
Beiträge: 346
|
Verfasst: Sa 02.04.05 22:58
Moin!
Und warum nicht gleich eine TObjectList?? Und wenn du OwnsObjects auf True lässt, dann wird das Formular beim Delete() sogar automatisch freigegeben...
MfG
Muetze1
|
|
der_zaehe
      
Beiträge: 317
WinXP SP2
D6 Pers, D2005 Prof, VS2005
|
Verfasst: So 03.04.05 12:51
irre! das brauch ich!
zur erklärung: ich bin anfaenger und noch nicht über alle kompos und objekt-typen informiert.
_________________ [inspirationslos]
|
|
Muetze1
      
Beiträge: 346
|
Verfasst: So 03.04.05 14:26
Moin!
der_zaehe hat folgendes geschrieben: | zur erklärung: ich bin anfaenger und noch nicht über alle kompos und objekt-typen informiert. |
Ging auch eher in Richtung AXMD, der das ganze vorgeschlagen hatte. Es war nicht in Bezug auf dich gemeint.
MfG
Muetze1
|
|