Aus dem Hauptdialog starte ich das Programm in einem eigenen Thread. Die Anzeige von selektierten Datenmengen mit folgender Funktion klappt einwandfrei, auch mehrfach. Die STATIC oBrowseX ist vor der App1_Main definiert.
Code: Alles auswählen
STATIC FUNCTION DbSatzBrowse( oBrowseX, oExport, aPickField, aParallel )
LOCAL GetList := {}, i, aChildList := {}
[color=red] IF Valtype(oBrowseX) = 'O'
aChildList := oBrowseX:ChildList()
FOR i := 1 TO Len(aChildList)
aChildList[i]:Destroy()
NEXT
oBrowseX:Destroy()
ENDIF
oBrowseX := nil
[/color] IF Empty(aPickField)
RETURN nil
ENDIF
@ 0,0 DCBROWSE oBrowseX DATA aPickField SIZE 65,20 ;
PARENT oExport PRESENTATION aBrowPres
DCBROWSECOL DATA {|| DC_GetColArray(5, oBrowseX) };
HEADER 'Konto' PARENT oBrowseX WIDTH 6
DCBROWSECOL DATA {|| DC_GetColArray(6, oBrowseX) };
HEADER 'BLZ' PARENT oBrowseX WIDTH 5
DCBROWSECOL DATA {|| DC_GetColArray(7, oBrowseX) };
HEADER 'Bank' PARENT oBrowseX WIDTH 14
DCBROWSECOL DATA {|| DC_GetColArray(8, oBrowseX) };
HEADER 'Inhaber' PARENT oBrowseX WIDTH 8
DCREAD GUI ;
PARENT oExport ;
EXIT
oBrowseX:hide()
oBrowseX:show()
RETURN nil
Code: Alles auswählen
Xbase++ Version : Xbase++ (R) Version 1.80.284
Betriebssystem : Windows XP 05.01 Build 02600 Service Pack 2
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: O CLASS: DC_XbpBrowse
oError:canDefault : .F.
oError:canRetry : .F.
oError:canSubstitute: .T.
oError:cargo : NIL
oError:description : Falscher Objekt Status
oError:filename :
oError:genCode : 104
oError:operation : :ChildList
oError:osCode : 0
oError:severity : 2
oError:subCode : 4208
oError:subSystem : BASE
oError:thread : 3
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von DBSATZBROWSE(2225)
Aufgerufen von SUBPROC(1038)
Aufgerufen von (B)APP1_MAIN(810)
Code: Alles auswählen
// BrowseX aufbauen
elseif nAktion = 5
aParallel := DbSatzField(.f.)
DbSatzBrowse( @oBrowseX, @oExport, @aPickField, aParallel )
DbGoTop()
Code: Alles auswählen
DCREAD GUI ;
EVAL {|o| SetAppWindow(oApp1Dlg), SubProc(5,aLocals), oApp1DlgWindow:Show(),oApp1DlgWindow:setTitle(cTitle) } ;
HANDLER _DlgHandler REFERENCE oDialog ;
OPTIONS GetOptions ;
SETFOCUS @oTabPage1 ;
PARENT @oDialog
Wer kann mir dazu Tipps geben ?
Josef