Es hat nichts mit der Frage zu tun aber folgendes würde ändern da sonst 3 mal nach der Komponente gesucht wird (3 Schleifendurchläufe wo jedes mal die "Name"-Strings verglichen werden)
Delphi-Quellcode:
TEdit(FindComponent(name[x] + tempzahl)).Top:=TEdit(FindComponent(name[x] + tempzahl)).Top-20;
TEdit(FindComponent(name[x] + tempzahl)).Name:=name[x] + temp;
Delphi-Quellcode:
var
lEdit: TEdit;
[...]
lEdit := TEdit(FindComponent(name[x] + tempzahl));
lEdit.Top := lEdit.Top - 20;
lEdit.Name := name[x] + temp;
Für die
AV hab ich folgende Vermutung.
Ich gehe davon aus das du zur Designzeit die Komponenten erzeugst.
Wenn du dann einen Button namens "Button2" hast kannst du im Quelltext per "Button2." auf die Eigenschaften und methoden zugreifen. Wenn du jedoch den Namen von "Button2" änderst kannst du nicht mehr über "Button2." auf die Eigenschaften und Methoden zugreifen weil "Button2" dann "nil" ist.
Button2 ist also keine Referenz auf die Instanz sondern etwas besonderes.
Ich vermute also das du dann noch irgendwo auf "Button2" zugreifst nach dem du den Namen geändert hast.