Warum verwendet jeder FindComponent????
Du hast doch schon einen Array of TComponent ->
TCustomForm.Components[] !!!
Ein simples:
Delphi-Quellcode:
XYZ := TABC.Create(Self);
fXYZ_cID := XYZ.ComponentID;
Über die ID kannst du jetzt immer auf deine Komponente zugreifen.
FindComponent MUSS durch den Array iterieren, um die Komponente nach Namen zu finden. Hast du die ID sparst du dir das Ganze.(außerdem sieht der Code sonst irgendwie Newbie-like aus.
)
Zitat von
Barnti:
Allerdings könnte es sein, dass je nach Cast-Operator (TmysqlQuery(Dm_Datenbank.FindComponent)) das ganze noch optimiert wird. Vielleicht ist dann FindComponent etwas schneller...?!
Das bezweifele ich ernshaft.
p.s.: FindComponent ist auch nicht sooo langsam.
Schließlich ist es mit Sicherheit nur eine simple Iteration durch den Array Components á la:
Delphi-Quellcode:
for i := 0 to pred(ComponentCount) do
if Components[i].Name = lSearchName then
begin
result := Components[i];
break;
end;