Autor Beitrag
leviathan
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 11.01.03 20:48 
Hallo zusammen,

als Delphi-Anfänger und ehemaliger TP 5.5-Programmier (der noch clearscreen und Ansiscreens im Kopf hat) habe ich noch Probleme mit der Arbeit mit Formularen. Leider haben die meisten Beispielprogramme (Delphi 6) nur ein Hauptformular, taugen also nur wenig als Anschauungshilfe. Daher meine Frage: Was sind gängige Wege, andere Formulare (inkl. Unit natürlich) aufzurufen (also auch darzustellen)? Muss ich die Darstellung des nicht-aktuellen Formulars erst beenden?

Es grüßt,
Levi
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 11.01.03 21:01 
Eiunfach ein neues Formular erstellen in der IDE. Delphi fügt dies automatisch zu den automatisch zum Programmstart zu erstellenden Formularen hinzu. Dann kannst du es einfach mit Formular2.Show oder wenn es modal sein soll mit Form2.ShowModal aufrufen. Nicht vergessen noch in Unit1 von Formular1 Unit2 für Formular2 hinzufügen.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Sa 11.01.03 21:05 
Hallo,

wenn du ein neues Formular in Delphi erstellst, dann legt Delphi es so an, das es Beim Programmstart automatisch erzeugt wird, aber unsichtbar ist.

Solche Formulare kannst du dann mit
ausblenden Quelltext
1:
FormX.Show;					

sichtbar machen und mit
ausblenden Quelltext
1:
FormX.Hide					

wieder verstecken. Wenn dein Programm beendet wird, werden die Formulare wieder Freigegeben.

Das Problem bei dieser Technik ist, das alle Formulare immer im Speicher sind. Daher ist es eleganter, wenn du die Formulare selbst erzeugst und wieder freigiebst.
Dazu musst du sie erst aus der Liste Automatisch Erzeugen unter Projekt->Optionen->Formulare nehmen.
Du erzeugst es dann so von Hand:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
VAR
  MyForm : tMyForm;
begin
  MyForm := tMyForm.Create(Self);
  MyFirm.Show;
[...]

und gibst es wie jedes andere Objekt wieder Frei:
ausblenden Quelltext
1:
MyForm.Free					


Gruß
Klabautermann
leviathan Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 11.01.03 23:51 
Vielen Dank für die schnellen und sehr hilfreichen Antworten!