| Hauptmenü | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Speicher sparen durch dynamische Forms |
|
|
| Geschrieben von Lemmy | |
| Dienstag, 24. Januar 2006 | |
|
Worum es geht Normalerweise werden alle Forms beim Programmstart in den Arbeitsspeicher geladen. Das kostet Speicher und hat auch den Nachteil, dass Komponenteneinstellungen beim zweiten Anzeigen des Fensters so sind, wie man sie beim ersten Aufruf gesetzt hat. Bsp: Das Eingabefeld1 hat beim ersten Fensteraufruf den Text 'Hallo', den Sie löschen. Wird das Fenster nun (ohne das Programm zu beenden!) geschlossen und neu angezeigt, ist der Text immer noch weg. Das lässt sich umständlich im Quelltext umgehen - es geht aber auch ganz einfach, wie im Folgenden beschrieben. Vorbereitung Standardmäßig lädt Delphi beim Start Ihres Programms alle Forms in den Arbeitsspeicher (auch wenn Sie nicht angezeigt werden!). Das verhindern Sie, indem Sie im Menü unter 'Projekt >Optionen >Forms' alle Forms, die Sie beim Programmstart noch nicht brauchen, auf die rechte Seite holen (dann sind sie nämlich erst mal nur verfügbar, aber noch nicht geladen) tragen Sie unter 'implementation' in die Uses-Klausel den "Vornamen" Ihrer Formular-Datei (*.pas) ein (ggf. müssen Sie die Uses-Klausel noch erstellen: einfach 'Uses ....;' oder ergänzen) Laden und Freigeben eines Forms Heisst Ihr Form 'Form1' geht es so: //Erzeugen des Forms im Speicher: Form1:=TForm1.Create(self); //Anzeigen - Sie können auch Show verwenden, dann //ist das Fenster aber nicht immer im Programm-Vordergrund: Form1.ShowModal; //Speicherfreigabe nach Schließen des Fensters: Form1.Release; //Bei Formularen sollzur Freigabe immer Release verwendet werden! |
|
| Letzte Aktualisierung ( Sonntag, 19. Februar 2006 ) |
| < Zurück | Weiter > |
|---|