der Absturz kommt erst später

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten

ich weiss die Lösung

ja
1
100%
nein
0
Keine Stimmen
 
Insgesamt abgegebene Stimmen: 1

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

der Absturz kommt erst später

Beitrag von AUGE_OHR »

ich wunderte mich das ich den Fehler nicht abfangen konnte :banghead:
oError:args :
-> VALTYPE: N VALUE: 100.00
-> VALTYPE: C VALUE: b
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Parameter hat falschen Typ
oError:filename :
oError:genCode : 2
oError:operation : <100.00>=<b>
oError:osCode : 0
oError:severity : 2
oError:subCode : 3
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von (B)SETTHISFILTER(365)
Aufgerufen von SETTHISFILTER(376)
klar war es mein Fehler den ich schon korrigiert habe ( Lösung steht ganz weit unten ... )

UMFRAGE : wer sieht den Fehler :?:

Code: Alles auswählen

FUNCTION SetThisFilter(cFilter,oBrowse)
LOCAL bError,oError
LOCAL nRet := .T.

   IF EMPTY(cFilter)
      SET FILTER TO
   ELSE
      bError := ErrorBlock( {|oErr| Break( oErr ) } )
      BEGIN SEQUENCE
         SET FILTER TO &cFilter       // 365
      RECOVER USING oError
         ErrorBlock( bError )
         SET FILTER TO
         nRet := .F.
         Msgbox(oError:description+CRLF+;
                oError:operation  +CRLF+;
                cFilter,"Error Filter"  )
      ENDSEQUENCE
      ErrorBlock( bError )
   ENDIF
   GO TOP                            // <- 376 FEHLER 
   oBrowse:RefreshAll()
RETURN nRet




























.













































.
































.












































.
nach dem setzten des Filter wurde noch keine Navigation durchgeführt wo der Filter "wirken" soll.
auch ist wohl kein automatisches GOTOP bei SET FILTER vorhanden wie bei SCOPE.

da GOTOP ausserhalb BEGIN / END liegt wird der Fehler nicht abgefangen.
Lösung : GOTOP nach oben vor RECOVER dann klappt es auch mit der Fehlermeldung
gruss by OHR
Jimmy
Antworten