AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form zur Laufzeit neu erstellen

Ein Thema von HolgerCW · begonnen am 2. Apr 2008 · letzter Beitrag vom 3. Apr 2008
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#21

Re: Form zur Laufzeit neu erstellen

  Alt 2. Apr 2008, 12:16
Zitat von mkinzler:
Das ist natürlich bei modalen Eingabeformularen sehr geschickt, nach schließen des Formualar sind die Eigaben gleich weg.
Worin liegt der Sinn, auf Elemente eines gelöschten Objekts zuzugreifen?
Wenn ich ein Fenster schliesse, dann brauche ich auch die Eingabefelder nicht mehr.
Beim Schliessen (z.B. OK-Button) soll das Fenster (Formular) selber dafür sorgen, dass die relevanten Eingaben dauerhaft gespeichert werden. Entweder in einer ini oder in Variablen einer Daten-Unit.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#22

Re: Form zur Laufzeit neu erstellen

  Alt 2. Apr 2008, 19:54
Nun, manchem mag es zB gefallen, die Eingaben eines modalen Dialogs in der aufrufenden Routine auszuwerten:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with TForm2.Create(nil) do
  try
    ShowModal;
    //Eingaben auswerten
  finally
    Free;
  end;
end;
Confuzius say: Early worm have death wish.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#23

Re: Form zur Laufzeit neu erstellen

  Alt 2. Apr 2008, 19:58
Zitat von RavenIV:
...Beim Schliessen (z.B. OK-Button) soll das Fenster (Formular) selber dafür sorgen, dass die relevanten Eingaben dauerhaft gespeichert werden.
... oder auch nicht. Aber ich weiß, was Du meinst. Dafür gibt es ja OnCloseQuery. Bei mir steht da 1. "abbrechen" => zurück zum Form. 2. "speichern" => Daten speichern (Post, Commit...), Form schließen. 3. "Wollen sie die Änderungen nicht speichern " => otfalls Rollback etc. Hinzu kommt dann natürlich noch "Wollen sie wirklich nicht ...." also das Übliche. 8) Der Vorteil, Forms zur Laufzeit erst zu erzeugen, besteht eigentlich nur darin, dass die Ereignis - Sequenzen auch richtig durchlaufen werden und man auch lesbaren Quelltext hat, wo man auch nach Jahren noch sicher ist, das kein Seiteneffekt so nach Art von OnClick in irgendeinem zur Laufzeit erzeugten Button irgendwo einem alles verhagelt. Bei 10 EUR für 1 GB RAM ist alles andere Blödsinn.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#24

Re: Form zur Laufzeit neu erstellen

  Alt 3. Apr 2008, 19:03
Hallo,

@Peinhard: Es ist doch ohne weiteres möglich mit dem out – Parameter noch nachträglich eine Auswertung vorzunehmen.

Delphi-Quellcode:
class function TFormSPSDAPPassWort.PassWortFreigabe (out Rueckgabe : Boolean): Boolean;
begin
  with TFormSPSDAPPassWort.Create(nil) do
    try
      Result := ShowModal=mrok; // ModalResult auf mrOk
      if Result then
        Rueckgabe := TRUE // Rückgabe-Wert
       else
        Rueckgabe := FALSE;
     finally
       free; // Speicherfreigabe
   end;
end;

procedure TFormSPSDAPPassWort.Edit1Change(Sender: TObject);
begin
  if Edit1.Text = 'Pthen // Das Paßwort muss noch geändert werden.
    BitBtn3.Enabled := TRUE; // Der Button wird freigegeben
end;
Im Hautprogramm wird dann der out – Parameter ausgewertet. Im meinem Beispiel wird das Programm nur beendet, wenn das richtige Passwort eingegeben worden ist.

Delphi-Quellcode:
procedure TSPSDAPHauptForm.Beenden1Click(Sender: TObject);
begin
  TFormSPSDAPPassWort.PassWortFreigabe (PRG_Ende);
  if Prg_Ende then
  begin
    close;
  end;
end;
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 06:50 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