Thema: Delphi Zugriffsverletzung

Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Zugriffsverletzung

  Alt 13. Nov 2006, 14:47
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat