Einzelnen Beitrag anzeigen

Hansa

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

Re: ShowModal

  Alt 2. Jan 2003, 18:22
Zitat von DKamps:
ShowModal geht nur, wenn das Formular nicht bereits mit Show geöffnet ist.
Wir haben etwas ananeinander vorbei gemailt, Formx.ShowModal soll Formx.Show ersetzen und nicht die Ereignisprozedur beim Anzeigen des Formulars FormShow.
ursprünglicher Code :

Code:
procedure TLiefStamm.Button2Click(Sender: TObject);
begin
  IF NOT LiefModul.LiefDS.IsEmpty THEN BEGIN
    IF LiefModul.LiefDS.Modified THEN BEGIN
      if MessageDlg('Soll der Datensatz gespeichert werden ?',
        mtInformation, [mbYes, mbNo, mbCancel], 0) = mrYes then begin
        LiefModul.LiefDS.post;
        LiefModul.TransAction.Commit;
      END
      ELSE
        LiefModul.Transaction.Rollback;
    END
    ELSE
      LiefModul.Transaction.Rollback;
  END;
//  showmessage ('1Ä');
  LiefStamm.FormShow (Sender);
end;
Ergebnis : Trotz FormShow wird Programm einfach beendet, ohne Fehlermeldung
Code:
      ELSE
        LiefModul.Transaction.Rollback;
    END
    ELSE
      LiefModul.Transaction.Rollback;
  END;
  showmessage ('1Ä');
  LiefStamm.FormShow (Sender);
end;
Ergebnis: Alles klappt, Unterschied : Showmessage vor FormShow nicht auskommentiert!


Code:
ELSE
        LiefModul.Transaction.Rollback;
    END
    ELSE
      LiefModul.Transaction.Rollback;
  END;
  LiefStamm.ShowModal;
end;
Ergebnis : "Cannot make a visible window modal". Anfang der Prozedur, siehe oben, jeweils gleich.

Gruß
Hansa
  Mit Zitat antworten Zitat