eines meiner Projekte bearbeitet Rezepte für eine Kantine. Bei einem Rezept wird die Struktur ("Rezeptbaum") zur Bearbeitung in ein Array geladen und mittels XbpBrowse() angezeigt. Klickt der Anwender auf eine Zeile, wird diese in Bearbeitungselemente unterhalb des Browse übernommen, dort kann sie verändert (oder gelöscht) werden und überschreibt dann das entsprechende Array-Element.
Das Ganze läuft in einem Thread ab, und was codemässig unter 1.95 einwandfrei lief, "bockt" unter der 2.0. Der ganze Browse-Bereich mit Daten reagiert nicht. Der Browse wird wie üblich erzeugt:
Code: Alles auswählen
oBro := XbpBrowse():new(oGB, oGB, aPosIn, aSizeIn)
oBro:tabStop := .T.
oBro:skipBlock := {|nSkip, oBro| DoArraySkip(nSkip)}
oBro:GoBottomBlock := {|| nArRecno := Len(aData)}
oBro:GoTopBlock := {|| nArRecno := 1}
oBro:PosBlock := {|| nArRecno}
oBro:PhyPosBlock := {|| Len(aData)}
oBro:LastPosBlock := {|| Len(aData)}
oBro:FirstPosBlock := {|| 1}
oBro:CursorMode := XBPBRW_CURSOR_ROW
oBro:itemMarked := {|aPos, uNIL, self| EditSetData(aEntries, .F., cRezept)}
oBro:useVisualStyle := .F.
oBro:create()
Der Programmcode wurde komplett neu compiliert und gelinkt.