[Delphi 5]TDBNavigator, Before Action

Hallo Ihr Wissenden,

ich habe mal wieder ein Problem, also:

ich habe ein TDBNavigator und das Ereignis „Before Action“. In dieser Procedur möchte ich folgendes abprüfen:
wenn der gedrückte Button insert oder edit ist,
überprüfe ein Edit-Feld, ob es korrekt gefüllt ist
wenn nein,

  1. kommt eine Fehlermeldung -kein Problem
  2. wird die eigentliche Aktion (also insert oder edit) abgebrochen -???
  3. das zuvor überprüfte Edit-Feld bekommt den Eingabe-Focus -kein Problem.

Wie sage ich es meinem Kinde??
Ist das zu machen, oder denke ich mal wieder viel zu kompliziert??

Schnell noch was Anderes: wie kann ich bei einem Quickreport-Formular die Preview-Ansicht aus dem Programm heraus beenden??
Also ohne „Schließen“ klicken zu müssen??

Vielen Dank im voraus!

Silvia

Hallo Silvia,

der BeforeAction-Aufruf sieht ja folgendermaße aus:

procedure TFStundensatz.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);

und in button steht jetzt der gedrückte Button drin (schau mal in der Oline-Hilfe nach), einfach

if (button=nbInsert) or (Button=nbEdit) then…

Das mit dem Abbrechen weiß ich jetzt gerade auch nicht, da ich fast nie den DBNavigator benutze.

Grüße
Wolfgang

Hallo Wolfgang,

es hat Dich also mal wieder erwischt :wink:
Du wirst mir nicht entkommen *grins*

Danke für Deine Antwort, die Buttons habe ich schon gefunden, mit dem Rest hapert es noch etwas. Aber das weißt Du ja schon…

Grüße Silvia

Zu 2
Probier einfach eine stille Exception innerhalb der BeforeAction Prozedur.
Also etwa so:
if not korrekteeingabe then
begin

Abort;
end;
Abort bricht die Verarbeitung mit einer stillen Exception ab.
Hoffe, daß es funzt.
Gruß