[gelöst] Dialog abbrechen mit ESC?

26. Februar 2007 10:29

Hallo zusammen,

meine Form soll über ein Dialogfenster ein Datum abfragen bevor die Form gestartet wird.

Soweit auch nicht besonders kompliziert:
Im OnOpenForm-Trigger lass ich ein Dialogfenster generieren, dass als Vorgabe bereits das richtige Datum vorschlägt. Der Benutzer muss lediglich mit ENTER bestätigen oder ein anderes Datum eingeben.

Jetzt mein Problem:
Sollte sich der Benutzer doch noch entscheiden meine Form nicht auszuführen zu wollen und bricht das Dialogfenster mit ESC ab, startet die Form dennoch!

Mein Versuch den Wert der Dialog-Variabel abzufragen, um darauf zu reagieren hat leider nicht funktioniert!

Hat jemand eine Idee, wie ich das realisieren kann? Ich möchte ungern extra eine neue Form für diese kleine Abfrage erstellen.

Danke im voraus.
Zuletzt geändert von Dune am 26. Februar 2007 10:59, insgesamt 1-mal geändert.

26. Februar 2007 10:32

machst du die Abfrage mit dialog.input?
wenn ja, wie hast du versucht, den rückgabewert abzufragen und die Form zu schließen?
Ich weiss nicht, ob das in Nav1..2 auch so geht, aber in Nav 4 würde ich das so machen:
Code:
if dlg.input(<deine Parameter>) = 0 then error('');

da du im OnOpenForm-Trigger bist, wird aufgrund des Error die Form geschlossen, und weil der Parameter '' (2 Hochkommas) ist, gibt es keine Fehlermeldung.
Zuletzt geändert von Michael Schumacher am 26. Februar 2007 10:46, insgesamt 1-mal geändert.

26. Februar 2007 10:43

Hi Michael,

du hast recht, über dialog.input. Hier mein Code:

Code:
window.OPEN(
  '#1############################\\\\\\' +
  'BelegDatum             #2#####', windowTitel, Datum_Beleg);
window.INPUT(2,Datum_Beleg);
window.CLOSE;


Mein Versuch, die Variabel abzufragen, hat nicht geklappt:
Message('%1', window);

Der Dialog scheint immer "InUse" zu sein!


[Der Lesbarkeit halber bitte den Programmcode mit den [code]-Tags formatieren. Danke und Gruß, Timo Lässer]

26. Februar 2007 10:48

ok, speziell für Deinen Code:
statt
Code:
window.INPUT(2,Datum_Beleg);


schreibst du:
Code:
 
if window.INPUT(2,Datum_Beleg) =0 then error('');


erklärung in meinem vorherigen Posting

26. Februar 2007 10:59

Vielen Dank, das ist die Lösung!

Mal wieder ein Problem gelöst.

Bis dann.