Тогда здесь в циклах вроде проверять нужно весь диапазон, типа
Код:
procedure TScan.Execute;
var
x,y : integer;
flg: boolean;
begin
flg:= false;
Repeat
For x:=X1 To X2 Do
For y:=Y1 To Y2 Do
If c.Pixels[x,y]=Cl then flg:= true;
if flg Then Synchronize(FindVisual)
Else Synchronize(Conrtol);
Until Terminated;
end;
тогда если хоть один пиксель нужный есть - сработает, иначе отбой