Nächstes Problem,
weil beim Druck auf die ESC Taste der gesamte Dialog geschlossen wird ohne Rückfrage, aber beim Abschalten über NOESCAPEKEY man mit ESC auch nicht mehr eine Eingabe Abbrechen kann, habe ich versucht über HANDLERBLOCK die ESC Taste abzufangen um dann über eine Abfrage den User zu fragen, ob er abbrechen will um dann entsprechende Schritte einleiten zu können. Dabei ist es auch geblieben. Irgendwie bekomme ich es nicht hin. Ich möchte eigentlich eine Funktion aufrufen, die dann z.B. Parts, die disabled sind wieder enabled, oder was weiß ich, was mit in Zukunft noch so alles einfällt. Hat jemand einen Tipp parat, wie man sowas löst?
DCREAD Handlerblock ESC abfangen
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21165
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 206 Mal
- Danksagung erhalten: 67 Mal
DCREAD Handlerblock ESC abfangen
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Bertram Hansen
- Foren-Moderator
- Beiträge: 1015
- Registriert: Di, 27. Sep 2005 8:55
- Wohnort: 51379 Leverkusen
- Hat sich bedankt: 28 Mal
- Danksagung erhalten: 20 Mal
- Kontaktdaten:
Re: DCREAD Handlerblock ESC abfangen
Hallo Manfred,
eventuell hilft Dir das Beispiel weiter:
eventuell hilft Dir das Beispiel weiter:
Code: Alles auswählen
*************************************************************************
/* Handlerblock Methode für DCREAD GUI in Maskread()
* Parameters -> nEvent - ist der numerische Ereigniscode, der das Ereignis kennzeichnet, das verarbeitet werden soll.
* Das ist in der Regel der Rückgabewert der Funktion AppEvent() (siehe dort).
* -> mp1 - ist der erste Message-Parameter des Ereignisses, das verarbeitet werden soll.
* Das ist in der Regel der erste Parameter der Funktion AppEvent().
* -> mp2 - ist der zweite Message-Parameter des Ereignisses, das verarbeitet werden soll.
* Das ist in der Regel der zweite Parameter der Funktion AppEvent().
* -> oXbp - A pointer to the object creating the event
* -> oDlg - A pointer to the main dialogue object
* -> aGetlist - A pointer to the GetList array
* -> aRef - A pointer to an optional Reference array that was passed to DC_ReadGets()
* -> lOk - A logical value that is .TRUE. if the OK button was clicked and .FALSE. if CANCEL was clicked
*
*/
FUNCTION MyHandler( nEvent, mp1, mp2, oXbp, oDlg, aGetList, aRef, lOk )
LOCAL cRet := DCGUI_NONE
IF nEvent == xbeP_Keyboard
IF mp1 == xbeK_ESC
// Code
// IF Bedingung
// cRet := DCGUI_CLEAR
// ENDIF
ENDIF
ENDIF
RETURN cRet
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.
Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
- Manfred
- Foren-Administrator
- Beiträge: 21165
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 206 Mal
- Danksagung erhalten: 67 Mal
Re: DCREAD Handlerblock ESC abfangen
Hi Bertram,
das mit dem DCGUI_NONE habe ich ausprobiert, aber es wird weiterhin der komplette Dialog beendet. Ich habe alle DCGUI_XXX ausprobiert, bis auf die, die zum Vorgänger zurückgehen, oder so. Nichts war so, wie ich es brauchen könnte. Irgendwo liegt da der Hase im Pfeffer.
das mit dem DCGUI_NONE habe ich ausprobiert, aber es wird weiterhin der komplette Dialog beendet. Ich habe alle DCGUI_XXX ausprobiert, bis auf die, die zum Vorgänger zurückgehen, oder so. Nichts war so, wie ich es brauchen könnte. Irgendwo liegt da der Hase im Pfeffer.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21165
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 206 Mal
- Danksagung erhalten: 67 Mal
Re: DCREAD Handlerblock ESC abfangen
Ich habe mir den Vorgang einmal im Debugger angesehen. Roger fragt zum Schluß wieder mp1 ab und da steht ja ESC drin. Somit wird immer abgebrochen. Ich verstehe das nicht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2932
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: DCREAD Handlerblock ESC abfangen
Manfred,
schau dir doch mal DCGET OPTIONS ABORTQUERY, CLOSEQUERY, EXITQUERY und QUITQUERY an, da kannst du doch eigene Funktionen zum Beenden nicht beenden aufrufen.
schau dir doch mal DCGET OPTIONS ABORTQUERY, CLOSEQUERY, EXITQUERY und QUITQUERY an, da kannst du doch eigene Funktionen zum Beenden nicht beenden aufrufen.
Viele Grüße
Wolfgang
Wolfgang
- Manfred
- Foren-Administrator
- Beiträge: 21165
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 206 Mal
- Danksagung erhalten: 67 Mal
Re: DCREAD Handlerblock ESC abfangen
Hi Wolfgang,
die habe ich schon durch. Irgendwie will es nicht so, wie ich es haben will. Ich löse es jetzt erstmal anders. Irgendwann kommt schon die Erleuchtung.
die habe ich schon durch. Irgendwie will es nicht so, wie ich es haben will. Ich löse es jetzt erstmal anders. Irgendwann kommt schon die Erleuchtung.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!