Hallo Wolfgang, Hallo Chris
Es war gestern vieleicht schon zu spät zum schreiben. Copy und Past wäre besser gewesen.
Hier mein verwendeter Code.
Code: Select all
METHOD mycontrol()
LOCAL i AS INT
LOCAL lok AS LOGIC
?" MydtaWindow mycontrol" , ALen(aControls)
aControls := {}
FOR i := 1 TO ALen(aControls)
? i, ClassName(aControls[i])
lok := FALSE
DO CASE
CASE ClassName(aControls[i]) == #sleStandard
lok := TRUE
CASE ClassName(aControls[i]) == #sleServerLiestview_ab
lok := TRUE
CASE ClassName(aControls[i]) == #sleServerLiestview
lok := TRUE
CASE ClassName(aControls[i]) == #sleServer
lok := TRUE
CASE ClassName(aControls[i]) == #sleSelection
lok := TRUE
CASE ClassName(aControls[i]) == #SLE_Date
lok := TRUE
CASE ClassName(aControls[i]) == #mleStandard
lok := TRUE
CASE ClassName(aControls[i]) == #RTFStandard
lok := TRUE
ENDCASE
IF lok == TRUE
// AAdd(_mycontrols,aControls[i]) // geht nicht
// AAdd(_mycontrols,aControls[i]:name) // geht nicht
// AAdd(_mycontrols,aControls[i]:namesym) // geht nicht
ENDIF
NEXT i
RETURN
Natürlich sind die aControls gefüllt. Die Abfrage kann ich mit IsInstanceOf( aControls[nI], #SingleLineEdit ) vereinfachen.
Meine SLE sind schreibgeschützt und werden bei der Eingabe/Änderung freigegeben bzw später wieder gesperrt. Dieses läuft über Arrays. Bei der Anzeige sind die SLE data aware
Alternativ könnte man auch sich die Positionen im Array merken und diese geziehlt ansprechen.
AAdd(_mycontrols, i )
bzw. acontrols[mycontrol
] (Hofffentlich ohne Tippfehler)
Martin