Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

GET-Valid wird mit .t. nicht verlassen

Moderator: Moderatoren

Antworten
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 779
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Kontaktdaten:

GET-Valid wird mit .t. nicht verlassen

Beitrag von satmax » Di, 08. Okt 2013 22:05

Ich prüfe in einem Eingabefeld (oGet ) den eingegebenen Wert via einem valid Codeblock. Im Codeblock wird dann ein Browseobjekt zur Auswahl angezeigt. Ich beende das Browseobjekt mit Enter und gebe in der Valid Function .t. zurück, Das Eingabefeld bleibt aber aktiv und ich kann das Feld nicht verlassen. Öffne ich testweise keinen Browser und gebe nur .t. zurück wird das Eingabefeld korrekt verlassen.


Gruß
Markus
Gruß
Markus

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10562
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: GET-Valid wird mit .t. nicht verlassen

Beitrag von AUGE_OHR » Di, 08. Okt 2013 23:51

hi,

wenn du das GET Object verlässt und ein anderes "Fenster" öffnest dann solltest du das alte "Fenster" sichern und wiederherstellen.

Code: Alles auswählen

{|| myBrowse(oGET) }

FUNCTION myBrowse(oGET)
LOCAL oldFocus := SetAppFocus()
LOCAL oActive  := GetActive( oGET )
...
// anderes Fenster ... Aktion
...
   SetAppFocus(oldFocus)
RETURN .T.
gruss by OHR
Jimmy

Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 779
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Kontaktdaten:

Re: GET-Valid wird mit .t. nicht verlassen

Beitrag von satmax » Mi, 09. Okt 2013 6:21

Hallo Jimmy,

das funktioniert leider nicht. Ich hatte es auch schon so änhlich implementiert:

Code: Alles auswählen

   oldFocus:=SetAppFocus()
   oDlg:disable()
   tdIsearch(13.60,65.2,aFlds,20,cLabel,'@!',,;
    ' Suche  -  Stammdaten ...',;
         0,0,,,,,,,tdSetFont('get'),,,.F.,;  // not Modal
         ,,.T.,;                                       // turn on mouse Wheel response
           tdSetColor("nDlgBg2"),,.T.)      // Dlg color for 2nd level windows

   oDlg:enable()
   SetAppFocus(oldFocus)
  // setAppFocus(oDlg)  // vorher

Wenn ich die Zeilen mit "tdIsearch(..." auskommentiere klappt es.

Gruß
Markus
Gruß
Markus

Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 779
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Kontaktdaten:

gelöst: GET-Valid wird mit .t. nicht verlassen

Beitrag von satmax » Mi, 09. Okt 2013 8:59

Es funktioniert, dazu habe ich den aufrufenden Codeblock geändert:

alt: bValid := {|oGe, nKey| chkSubFahrer(oGe, nKey, oDlg)}
neu: bValid := {|oGe, nKey|oDlg:oActvGet := NIL, chkSubFahrer(oGe, nKey, oDlg)}

Den Tip habe ich in einem Beispielprogramm von TopDown gefunden, Clayton schreibt:

...
A good solution is to nil the oActvGet before calling the popup. This deflects the
focus codeblock. The next Get to receive focus assigns itself to oActvget as normal.
...


Gruß
Markus
Gruß
Markus

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 13582
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: GET-Valid wird mit .t. nicht verlassen

Beitrag von Martin Altmann » Mi, 09. Okt 2013 9:57

Moin,
habe das mal nach TopDown verschoben...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Antworten