Ибо для чистки табшитов надо тоже бежать в цикле и чистить.
а вообще, эту штуку желательно сделать рекурсивной.
Код:
procedure clear(aOwner: TWinControl);
var
i: integer;
begin
for i := 0 to aOwner.ControlCount - 1 do
begin
if aOwner.Control[i] is TEdit /*или баттон, или еще что-то*/ then
/*чистим (aOwner.Control[i] as TEdit).Clear;*/
if (aOwner.Control[i] is TTabSheet) or (aOwner.Control[i] is TPageControl) then
clear(aOwner.Control[i]);
end;
end;
Ну как-то так.