GET-Valid wird mit .t. nicht verlassen

Moderator: Moderatoren

GET-Valid wird mit .t. nicht verlassen

Beitragvon 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
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 776
Registriert: Do, 02. Dez 2010 20:34
Wohnort: Biberbach in Österreich

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

Beitragvon 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
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10276
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

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

Beitragvon 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: 776
Registriert: Do, 02. Dez 2010 20:34
Wohnort: Biberbach in Österreich

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

Beitragvon 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
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 776
Registriert: Do, 02. Dez 2010 20:34
Wohnort: Biberbach in Österreich

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

Beitragvon 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.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12960
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin


Zurück zu TopDown

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast