Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Zugriffsverletzung - was ist hier falsch?


delphinia - So 19.02.06 17:43
Titel: Zugriffsverletzung - was ist hier falsch?

Delphi-Quelltext
1:
ShowMessage(TImage(FindComponent(Page_tab.ActivePage.Name + '_' + IntToStr(g)) as TImage).name);                    


Diese Zeile verursacht eine Zugriffsverletzung.

Weis jemand warum?


Moderiert von user profile iconGausi: Topic aus Sonstiges (Delphi) verschoben am So 19.02.2006 um 16:50


mkinzler - So 19.02.06 17:50
Titel: Re: Zugriffsverletzung - was ist hier falsch?
user profile icondelphinia hat folgendes geschrieben:

Delphi-Quelltext
1:
ShowMessage(TImage(FindComponent(Page_tab.ActivePage.Name + '_' + IntToStr(g)) as TImage).name);                    


Diese Zeile verursacht eine Zugriffsverletzung.

Weis jemand warum?

Erstmal reicht ein Typecast; enweder TImage() ode asImage.

welchen Wert hat g/gibt es eine Page mit der erzeugten Bezeichnung?


delphinia - So 19.02.06 17:56

Zitat:
Erstmal reicht ein Typecast; enweder TImage() ode asImage.

Ja das war ein Fehler - es ist aber auch so mit nur einer.

"g" ist integer von 1 -> 90

Es geht hierbei um TShapes die zur Laufzeit erzeugt wurden. Diese haben die Bezeichnung

Page_tab.ActivePage.Name = 'T_1' oder 'T_2' usw...
"g" = 1 -> 90

macht zB T_2_1 oder T_1_4 usw.....


Zitat:
gibt es eine Page mit der erzeugten Bezeichnung?

ja klar...


mkinzler - So 19.02.06 18:10

Wo wird dieser Code aufgerufen in einer Methode der selber Form ? Sonst fehlt Klassenbezeichnung der FindComponentmethode.

Ich nehem an das der Code nur zum Testen ist -> Der Name Einer Komponente mit dem Name T_1_1 ist natürlich T_1_1 ;-)