beim Auswerten der Errorlogs meiner Anwender bin ich auf ein Problem gestossen, dass immer wieder auftritt: Ein Runtime-Error beim :create eines XbpDialog().
Ich verwende bei Abfragen oft die Alertbox()-Funktion, die von Alaska im Quelltext mit geliefert wird.
Die Funktion wird an vielen Stellen immer wieder im Programm verwendet und täglich bei hunderten von Anwendern benutzt. Die Abstürze sind "willkürlich" über das Programm verteilt und "normalerweise" funktioniert der Aufruf der Funktion und damit das Erzeugen des XbpDialog ja auch. Aber manchmal eben nicht...
Was ähnliches habe ich auch hin und wieder beim Erzeugen von XbpStatics...
Code: Alles auswählen
FUNCTION AlertBox( oOwner, cText, aCaption, nSysIcon, cTitle )
LOCAL nEvent , mp1 , mp2, oXbp , lExit
LOCAL oParent , oDlg, oPS, oFont, oFocus, oDesktop
LOCAL aPushBtn , aPbSize, nPbWidth, nPbDist, nSelect
LOCAL oIcon , aIconSize
LOCAL aTextSize, aText
LOCAL bSelect , bKeyboard
LOCAL i, imax , nPos , aPos , aPos1 , aSize , nXsize, nYsize
aAcc := {}
DEFAULT oOwner TO SetAppWindow(), ;
cText TO "" , ;
aCaption TO { "~Ok" } , ;
cTitle TO " "
oDeskTop := AppDesktop()
/*
* Dialogfenster der Alert Box erzeugen
*/
oDlg := XbpDialog():new( oDesktop, oOwner, , { 100, 100 }, , .F. )
oDlg:minButton := .F.
oDlg:maxButton := .F.
oDlg:title := cTitle
oDlg:taskList := .t.
oDlg:border := XBPDLG_DLGBORDER
oDlg:close := {|mp1,mp2,obj| obj:hide(), lExit := .T. }
oDlg:create()
...
Beim Create kracht es:
Code: Alles auswählen
Xbase++ Version : Xbase++ (R) Version 1.90.331
Betriebssystem : Windows XP 05.01 Build 02600 Service Pack 2
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: O CLASS: XbpIWindow
-> VALTYPE: O CLASS: XbpDialog
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Falscher Objekt Status
oError:filename :
oError:genCode : 104
oError:operation : :create
oError:osCode : 0
oError:severity : 2
oError:subCode : 4208
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von ALERTBOX(54)
Aufgerufen von WASK(169)
...
Hat jemand eine Idee, was das sein könnte?