Otra solucion...Yo utilizo esta forma.
El unico pero, es que en la llamada tienes que incluir el vector de todos los controles que deseas evaluar (Ejemplo 2). Al final creo que es mejor te da mas control.
Código Delphi
[-]
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
Procedure CheckControl(Sender:TObject);overload;
Procedure CheckControl(Sender:Array Of TObject);overload;
end;
Procedure TForm1.CheckControl(Sender:TObject);
begin
If (Sender Is TComboBox) Then
If TComboBox(Sender).Text='' Then
TComboBox(Sender).Color:=clRed;
If (Sender Is TEdit) Then
If TEdit(Sender).Text='' Then
TEdit(Sender).Color:=clRed
end;
Procedure TForm1.CheckControl(Sender:Array Of TObject);
Var
i:Integer;
Begin
For i:=Low(Sender) To High(Sender) Do
CheckControl(Sender[i]);
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
CheckControl([ComboBox1,Edit1]);
end;