Achte auf die Klammern.
Ein TypeCast geht mit runden Klammern. FindComponent liefert eigentlich ein TComponent zurück. MEhr weis FindComponent nicht. wir wissen aber, dass es ein Edit sein muss. also können wir problemlos TEdit(xxx) machen. Du hast da eckige Klammern genommen.
Edit: Und speichere das, was aus Findcomponent kommt.. zwischen.
Delphi-Quellcode:
//Beispiel
var Edit:TEdit;
...
for j:=(n-stepstogo) to n do
begin
Edit:=TEdit(findcomponent(e+inttostr(j)+inttostr(i))); //sonst rufst du findcomponent zweimal auf
Edit.text:=inttostr(strtofloat(Edit.text)-strtofloat(TEdit[findcomponent(e+inttostr(j)+inttostr(i-1))].text)*fac);
end;
...
end;
Wichtige Sachen in dem Zusammenhang wären noch der Operator "is" --> if findcomponent(xxx) is TEdit then ...
Da kannst du halt überprüfen ob, der Zeiger, den du gefunden hast wirklich auf ein TEdit zeigt.
Und dann wäre noch assigned(xxx) (hier: assigned(Edit)) damit kannst du im obigen Beispiel noch testen, ob du überhaupt etwas gefunden hast.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.