Hi, I am iterating over a set of groups to see what their state is. Doing them individually in is fine but when I try to use in a loop the "once" statement keeps firing as if it were a simple "if" statement. Herer is a sample code [FONT=Courier New]for Group := 1 to 10 do begin Format(GroupIs, 'Group ', Group, ' is ON', #13#10); once GetCbusState(254, 56, Group) = ON then WriteSerial(1, GroupIs); end; [/FONT] [FONT=Arial]I should only see that serial routine fire once I activate the group, but it keeps firing for every module run. Any clues? Ot if there is a better way of doing this?[/FONT]