AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Formulare erstellen und/oder ganz entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

Formulare erstellen und/oder ganz entfernen

Ein Thema von davar · begonnen am 14. Feb 2005 · letzter Beitrag vom 14. Feb 2005
Antwort Antwort
davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#1

Formulare erstellen und/oder ganz entfernen

  Alt 14. Feb 2005, 19:40
Hallo Leute,

habe mich hier etwas umgeschaut und ähnliche Probleme gefunden, aber noch keine Lösung.

Also, folgendes Problem:

ich habe ein Formular, auf dem zur Laufzeit Komponenten erstellt und abgelegt werden. So weit ok. Wenn man jedoch das Formular schließt (Form.Close) und nachher wieder öffnet, sind diese Komponenten immer noch da.

Wie bekomme ich dieses Formular wieder in den Ursprungszustand zurück?

Ich habe mir überlegt, das Formular unter Projekt/Optionen als verfügbar zu markieren und erst zur Laufzeit zu erstellen. Und nachdem man fertig ist, soll es aus dem Speicher entfernt werden, um später wieder erstellt werden zu können. Nur schaffe ich das nicht ganz. Meint ihr, der Schritt wäre ok, und wenn ja, wie bekomme ich das hin?

MfG

davar
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Formulare erstellen und/oder ganz entfernen

  Alt 14. Feb 2005, 21:10
Die Komponenten könnte man doch mit
Delphi-Quellcode:
 Panel1.Free;
 Button1.Free;
 //usw.
entfernen.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Formulare erstellen und/oder ganz entfernen

  Alt 14. Feb 2005, 21:16
Hallo davar,

du solltest nicht die globalen Formvariablen verwenden. Wenn du z.B. Form2 in Form1 verwenden willst, kannst du folgendes machen:

Delphi-Quellcode:
type TForm1=class(TForm)
//...
private
  MyForm: TForm2;
//...

procedure TForm1.FormCreate(Sender: TComponent);
begin
  MyForm := TForm2.Create;
end;

procedure TForm1.Button1Click(Sender: TComponent);
begin
  MyForm.Show;
end;

procedure TForm1.FormClose(Sender: TComponent);
begin
  MyForm.Free;
end;
Hier erstelle ich z.B. im OnCreate das zweite Form, das koenntest du auch in anderen Routinen machen, so auch im ButtonClick. Beim Schliessen von Form1 geben wir auch MyForm frei, und das koenntest du auch in einer anderen beliebigen Methode machen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
davar

Registriert seit: 4. Feb 2005
311 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Formulare erstellen und/oder ganz entfernen

  Alt 14. Feb 2005, 22:51
Hallo alcaeus,

das habe ich jetzt mal programmiert. Das Hauptformular heisst FormHauptformular, das zu erstellende Formular FormErstellen.

Jetzt habe ich deinen Quellcode in meinen eingebaut und dementsprechend geändert:

Delphi-Quellcode:
  private
    MyForm: TFormErstellen;
Hier sagt er mir bereits "Undefinierter Bezeichner: 'TFormErstellen'.

Und wenn es hier mal laufen sollte (habe schon zig verschiedene Versionen ausprobiert), kommt weiter unten bei

MyForm:= TFormErstellen.Create; die Meldung 'Nicht genügend wirkliche Parameter'. Habe schon die verschiedensten Varianten ausprobiert, komme aber nicht zu einem Ergebnis..

MfG

davar
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Formulare erstellen und/oder ganz entfernen

  Alt 14. Feb 2005, 23:06
Zitat von davar:
Und wenn es hier mal laufen sollte (habe schon zig verschiedene Versionen ausprobiert), kommt weiter unten bei

MyForm:= TFormErstellen.Create; die Meldung 'Nicht genügend wirkliche Parameter'. Habe schon die verschiedensten Varianten ausprobiert, komme aber nicht zu einem Ergebnis..
Probier doch mal
MyForm:= TFormErstellen.Create(nil); oder
MyForm:= TFormErstellen.Create(FormHauptformular); MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz