Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

AW: Überprüfen ob Form erzeugt = ungültige Zeigeroperation?

  Alt 7. Mai 2012, 13:05
Deine Vorgehensweise bei modalen Formularen ist suboptimal.
Hier ist eine Blaupause für den korrekten Umgang mit einem modalen Formular :
Delphi-Quellcode:
var
  // Variable für modales Formular soll immer lokal sein
  // zur Sicherheit sollte man die globale Variable "Form2" auskommentieren
  frm : TForm2;
begin
  // Wichtig!
  // der Owner des Formular soll nil sein
  // setzt man Application oder self als Owner ein wird das Erzeugen
  // und Zerstören des Formular verlangsamt
  // Unter seltenen Umständen kann es zu Zugriffsverletzungen bei schlecht programmierten
  // Komponenten kommen
  frm:=TForm2.create(nil);
  try
    // Anfangsdaten grundsätzlich nur über Properties zuweisen
    frm.Property1 := ...;
    frm.Property2 := ...;
    // man kann auch eine Methode verwenden um gleich mehrere Anfangswerte
    // auf einen Rutsch zu setzen
    frm.Init('Bitte neues Passwort eingeben', self.FUser, self.FOldPW, 3);

    if frm.showmodal = mrOK then // nicht vergessen das ModalResult auszuwerten!
    begin
      // Daten übernehmen
      ... := frm.Property1;
      ... := frm.Property2;
    end;
  finally
    frm.Free;
  end;
end;
Andreas

Geändert von shmia ( 7. Mai 2012 um 13:08 Uhr)
  Mit Zitat antworten Zitat