If I take your original code and modify it like so:
Code: Select all
For i := 1 To Len( M->paTabulkaNew )
nRow++
cValid := '{ || MG_V8( ' + AllTrim( Str( i ) ) + '), MG_TestKV( M->paTabulkaNew, M->pnVolneSkup, GetList ) }'
bValid := &( cValid )
cGetId := 'MY_GET_'+ltrim(str(i))
M->paTabulkaNew[ nPosFx, 10 ] := cGetId
@ nRow, 1 DCSAY AllTrim(M->paTabulkaNew[i,1])+' - '+AllTrim(M->paTabulkaNew[i,2]) SAYSIZE 14 SAYRIGHT PARENT oSt_Vst
@ nRow,18 DCGET M->paTabulkaNew[i,6] PICTURE '99' RANGE 0,99 ;
VALID bValid ;
GETOBJECT paTabulkaNew[i,9] ;
GETID cGetId ;
LOSTFOCUS { || DC_GETREFRESH( GetList, nil, DCGETREFRESH_ID_EXCLUDE, { 'GET_EXPO_CISLO', 'GET_CAS', 'BROWSER' } )
, DC_DebugBrowse( { M->paTabulkaNew }, {"M->paTabulkaNew"}, , , , , , ) } PARENT oSt_Vst
Next
You will have to make sure that the paTabulkaNew array subarrays have 10 elements (the 9th and 10th will be NIL initially). The 9th and 10th will be filled out during the loop iterations.
If you inspect the array after the dialog is created, the 9th element of each get item should be a get object that you can use directly with SetAppFocus() like:
SetAppFocus( M->paTabulkaNew[ nPosFx, 9 ] )
and the 10th element should be the cGetID value for each get field that you could use in the handler :
SetAppFocus( DC_GETOBJECT( GetList, M->paTabulkaNew[ nPosFx, 10 ] ) )