Seite 1 von 1

ASCAN auf ein Array mit Object auf dessen Property [erledigt]

Verfasst: Fr, 06. Dez 2019 11:04
von AUGE_OHR
hi,

ich habe ein Array mit Objecten von Controls. in der CLASS gibt es die Property lESC

nun wollte ich es so abfragen aber da meckert Xpp.EXE

Code: Alles auswählen

nPosi := ASCAN(::aoDP, {|oDP| oDP:lESC = .T. } )
so geht es

Code: Alles auswählen

   iMax := LEN(::aoDP)
   FOR i := 1 TO iMax
      IF ::aoDP[i]:lESC = .T.
         lESC := .T.
         EXIT
      ENDIF
   NEXT
ich komme also an die Property ran.
wie macht man es nun mit ASCAN() :idea:

Re: ASCAN auf ein Array mit Object auf dessen Property

Verfasst: Fr, 06. Dez 2019 12:07
von Tom
Bei mir geht das. Es gibt eine Klasse "Dienstplanung", die u.a. eine logische iVar "sysazvmsdp" kennt, die auf .F. defaultet:

Code: Alles auswählen

a := {}
aAdd(a,aDienstplanung():New())
aAdd(a,aDienstplanung():New())
a[2]:sysazvmsdp := .T.
? aScan(a,{|x|x:sysazvmsdp}) // Antwort: 2

Re: ASCAN auf ein Array mit Object auf dessen Property

Verfasst: Fr, 06. Dez 2019 13:09
von AUGE_OHR
Tom hat geschrieben: Fr, 06. Dez 2019 12:07 Bei mir geht das. Es gibt eine Klasse "Dienstplanung", die u.a. eine logische iVar "sysazvmsdp" kennt, die auf .F. defaultet:

Code: Alles auswählen

? aScan(a,{|x|x:sysazvmsdp}) // Antwort: 2
das ist die Lösung :idea:

Code: Alles auswählen

nPosi := ASCAN(::aoDP, {|oDP| oDP:lESC } )
also ohne ein "= .T." funktioniert es, Danke =D>

Re: ASCAN auf ein Array mit Object auf dessen Property [erledigt]

Verfasst: Fr, 06. Dez 2019 13:28
von Tom
Gerne!
Bei mir funktioniert es allerdings auch mit dem "= .T."! 8)