Wenn ich dieses Sinnlosprogramm laufen lasse erscheint wie erwartet in den say und get Zeilen der Inhalt vom Arrays. Zur Kontrolle habe ich noch mal ein browse drunter gesetzt. Auch hier erscheint der richtige Array-Inhalt.
Zu meiner Verwunderung/Verwirrung ändert sich nach dem Aufruf der Funktionen der Inhalt des Arrays aber die beiden get Zeilen nicht mehr.
Was übersehe ich denn da ?
Code: Alles auswählen
#include "dcdialog.ch"
#include 'DCDIALOG.CH"
#include 'APPEVENT.CH'
procedure main
LOCAL GetList:={}, arr:={}
aadd(arr,{"Karl ","Meier "})
@ 02,01 dcsay {||arr[1,1]} saysize 0
@ 02,10 dcget arr[1,1] // <----- ändert sich nicht mehr
@ 03,01 dcsay {||arr[1,2]} saysize 0
@ 03,10 dcget arr[1,2] // <----- ändert sich nicht mehr
@ 05,01 dcbrowse ob1 data arr size 50,4 fit
dcbrowsecol element 1 header "Vorname" parent ob1 width 10
dcbrowsecol element 2 header "Name" parent ob1 width 10
@ 12,0 dcpushbutton caption "Hein" size 10,1 ;
action {||fhein(arr,getlist)}
@ 12,10 dcpushbutton caption "Ewald" size 10,1 ;
action {||fewald(arr,getlist)}
DCREAD GUI FIT
RETURN
*-------------------------------------------
function fhein(arr,xlist)
asize(arr,0)
aadd(arr,{"Hein","Mück"})
dc_getrefresh(xlist)
return .t.
*------------------------------------------
function fewald(arr,xlist)
asize(arr,0)
aadd(arr,{"Ewald ","Saur"})
dc_getrefresh(xlist)
return .t.
*-------------------------------------------
proc appsys
return