LOCAL lc_Alias, lc_Field, ll_Retval, ln_Dot, ln_Status, lo_Object *acti screen *-- clear ll_Retval = .F. with this for each lo_Object in .cntMain.Objects with lo_Object if inlist(lower(.baseClass), "textbox", "checkbox") ln_Dot = at(".", .ControlSource) lc_Field = substr(.ControlSource, ln_Dot + 1) lc_Alias = iif(ln_Dot > 0, left(.controlSource, ln_Dot-1), alias()) ln_Status = GetFldState(lc_Field, lc_Alias) *-- wurde nicht wirklich etwas geändert, *-- dann den status zurücksetzen if ln_Status > 1 if eval(.ControlSource) == OldVal(lc_Field, lc_Alias) =SetFldState(lc_Field, 1, lc_Alias) ln_Status = 1 endif endif if ln_Status > 1 ll_Retval = .T. *? "Geändert: "+ lc_Field +" ["+ allt(str(ln_Status)) +"]" else *? "Nicht geändert: "+ lc_Field +" ["+ allt(str(ln_Status)) +"]" endif lo_Object.BackColor = iif(ln_Status > 1, rgb(0,255,0),rgb(255,255,255)) endif endwith && lo_Object endfor &&* each lo_Objet in .Objects endwith return ll_Retval