Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#37

Re: Edit-Felder während der Laufzeit erstellen... wie?

  Alt 22. Jan 2008, 15:15
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.
  Mit Zitat antworten Zitat