Announcement

Collapse
No announcement yet.

Gültigkeitsprüfung von Feldern durch Delphi

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Gültigkeitsprüfung von Feldern durch Delphi

    Bei Datenbanken(z.B Paradox), deren Felder Gültigkeitsprüfungen unterliegen (z.B Min, Max, ...) und die durch Delphi angesprochen werden, läuft Delphi stets auf eine Exception, wenn die Werte nicht stimmen. Was mach ich falsch???

  • #2
    Hallo,

    wenn die Gültigkeitsprüfungen direkt in der Paradox-Tabelle (siehe <i>Datenbankoberfläche | Tools | Tabellenoperationen | Strukturinfo | Gültigkeitsprüfungen</i>) abgelegt wurden, löst die BDE ein Veto aus, wenn der Anwender einen "illegalen" Wert eintragen möchte. Wird das Programm direkt aus Delphi heraus gestartet, hält der integrierte Debugger an dieser Stelle an, d.h. das BDE-Veto wird in eine "harmlose" Exception übersetzt, so dass Delphi an dieser Stelle die Ausführung für das eventuell gewollte Debuggen anhält (dieses Verhalten kann jedoch deaktiviert werden). Wird das Programm <b>nicht</b> aus Delphi heraus gestartet, sieht der Anwender nur die Hinweismeldung über die fehlgeschlagene Gültigkeitsprüfung. Der Sinn einer festen Gültigkeitsprüfung liegt ja gerade darin, dass dieser "falsche" Datensatz nicht erfolgreich abgespeichert werden darf

    Comment


    • #3
      Merci,

      für den Kommentar, aber in der Tat heisst das doch, dass jede Gültigkeitsprüfung in Delphi durch eine exeption Procedure abgefangen werden muss. Das ist ja recht umständlich im Hinblick auf etwaige Änderungen in der Datenbankstruktur oder beim Umstieg auf SQL

      Comment


      • #4
        Hallo,

        nein - denn das Programm bleibt nur dann "stehen", wenn es aus der Delphi-IDE heraus gestartet wird und im Optionen-Dialog das Anhalten beim einer Exception nicht abgewählt wurde. Wird das Programm regulär als EXE gestaret, erhält der Anwender nur eine Fehlermeldung. Wenn sogar das unterdrückt bzw. in anderer Form angezeigt werden soll, kann man einen globalen Exception-Handler mit dieser Aufgabe betrauen. Ein Beispiel dafür ist in der Delphi-Hilfe zu TApplication zu finden

        Comment


        • #5
          Danke,

          werde es mal in den nächsten Tagen ausprobiere

          Comment

          Working...
          X