Hallo,
ich habe folgendes Problem:
Ich will in einem XbpQuickBrowse das aktuell gebrowste Array durch ein anderes ersetzen, welches länger oder auch kürzer sein kann.
Folgendes funktioniert:
aArray := { { "A", "A2" }, { "B", "B2" } }
aCol := { 1, 2 }
oBrowse := XbpQuickBrowse():new( ... )
oBrowse:dataLink := DacPagedDataStore():new( aArray, aCol )
oBrowse:create()
Das funktioniert auch (neues Array hat gleiche Länge wie das alte):
aArray := { { "X", "X2" }, { "Y", "Y2" } }
aCol := { 1, 2 }
oNewDataLink := DacPagedDataStore():new( aArray, aCol )
oBrowse:setDataLink( oNewDataLink )
oBrowse:refreshAll()
Das crashed (neues Array ist länger als das alte):
aArray := { { "X", "X2" }, { "Y", "Y2" }, { "Z", "Z2" } }
aCol := { 1, 2, 3 }
oNewDataLink := DacPagedDataStore():new( aArray, aCol ) // <- CRASH
oBrowse:setDataLink( oNewDataLink )
oBrowse:refreshAll()
Fehlermeldung:
Aufgerufen von DACARRAYROW:INIT(396)
Aufgerufen von DACARRAYSET:INIT(197)
Aufgerufen von ABSTRACTDATASTORE:NEW4ARRAY(159)
Aufgerufen von ABSTRACTDATASTORE:INIT(120)
Aufgerufen von DACPAGEDDATASTORE:INIT(188)
Aufgerufen von EDITCONTROL:CREATEEDITAREA(145)
Aufgerufen von EDITCONTROL:INIT(20)
Aufgerufen von MAINCLASS:MASKOPEN(217)
Aufgerufen von MAINCLASS:CREATEAPPDIALOG(156)
Aufgerufen von MAINCLASS:INIT(50)
Aufgerufen von MAIN(15)
Hat jemand eine Lösung dafür?
Tschüs,
Sören
XbpQuickBrowse: gebrowstes Array durch längeres ersetzen
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 205
- Registriert: Mo, 07. Aug 2006 10:18
- Wohnort: Leipzig
- Danksagung erhalten: 11 Mal
Hallo Rolf,
danke für den Tipp. Das hat mir weiter geholfen.
Das Beispiel befindet sich jedoch hier:
C:\Alaska\XPPW32\SOURCE\SAMPLES\BASICS\QBROWSE\QBrowse1.prg
Und auf folgende Weise funktioniert es:
aArray := { { "X", "X2" }, { "Y", "Y2" }, { "Z", "Z2" } }
aCol := { 1, 2 }
oBrowse:dataLink := DacPagedDataStore():new( aArray, aCol )
oBrowse:dataLink:SetAbsolutePagesize( oBrowse:RowCount )
oBrowse:refreshAll()
Mein eigentlicher Fehler bestand aber darin, dass ich aCol := { 1, 2, 3 } gesetzt hatte. Das ist mir beim Ansehen des Alaska-Beispiels aufgegangen!
Danke nochmal und tschüs,
Sören
danke für den Tipp. Das hat mir weiter geholfen.
Das Beispiel befindet sich jedoch hier:
C:\Alaska\XPPW32\SOURCE\SAMPLES\BASICS\QBROWSE\QBrowse1.prg
Und auf folgende Weise funktioniert es:
aArray := { { "X", "X2" }, { "Y", "Y2" }, { "Z", "Z2" } }
aCol := { 1, 2 }
oBrowse:dataLink := DacPagedDataStore():new( aArray, aCol )
oBrowse:dataLink:SetAbsolutePagesize( oBrowse:RowCount )
oBrowse:refreshAll()
Mein eigentlicher Fehler bestand aber darin, dass ich aCol := { 1, 2, 3 } gesetzt hatte. Das ist mir beim Ansehen des Alaska-Beispiels aufgegangen!
Danke nochmal und tschüs,
Sören