hallo marabu
die function gibt ja die control wieder !!!!
wenn ich der function zum testen diesen aufruf starte
(Mit deinen geänderten code)
Delphi-Quellcode:
Function Finde(sender : control; const c_name_s : String) : Control;
var
c_ctrl : Control;
begin
Result := NIL;
for c_ctrl in sender.Controls do
begin
//Rekursiv
if (c_ctrl.Name = c_name_s) then
begin
Result := c_ctrl;
(c_ctrl as TextBox).Text := ''; <-------Aufruf
end
else
begin
Finde(c_ctrl, c_name_s);
end;
if Assigned(Result) then
begin
Exit;
end;
end;
end;
macht er es
nur der aufruf über die Proocedure macht er nicht
Delphi-Quellcode:
Procedure Test();
var
i : Integer;
c_s : String;
begin
//Namen TextBoxen
for i := 1 to 2 do
begin
c_s := 'B_Text' + i.ToString;
if (Finde(g_hf, c_s) is TextBox) then
begin
(Finde(g_hf, c_s) as TextBox).Text := '';
end;
end;
end;
wenn ich die Function so ändere
das ich explizit die Übergeordnetet Control angebe
funktioniert es auch
aber ich wollte die Function so das ich nur die Form angebe