Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Compiler akzeptiert Komponentennamen nicht in Prozedur
haderlump - Di 18.05.10 05:04
Titel: Compiler akzeptiert Komponentennamen nicht in Prozedur
Hallo zusammen
Ich habe in einem Formular ein Label "Label1 eingefügt.
Nachfolgender Quelltext
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure THauptform.Label1Click(Sender: TObject); begin label1.caption := 'asdf'; end;
procedure Fahrtrichtung_anzeige; begin label1.caption := 'asdf'; end; |
bringt mir eine Fehlermeldung
[Fehler] hauptformular.pas(4173): Undefinierter Bezeichner: 'label1'
Das komische ist nur: Die Fehlermeldung wird nur bei der 2. Procedure gebracht, bei der ersten akzeptiert der Compiler den Bezeichner Label1.caption
Ich hab es auch schon mit einem Editfeld versucht, gleicher Effekt.
Das Steuerelement ist im Hauptformular angeordnet also in der gleichen Unit wie die Procedur.
Ich komme mir vor wie ein Depp !!
Gruß Fritz
Moderiert von
Gausi: Delphi-Tags hinzugefügt
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Di 18.05.2010 um 09:08
Moderiert von
Narses: Titel geändert, war: "komische Fehlermeldung, oder bin ich ein Depp ?".
zuma - Di 18.05.10 06:49
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
Moin,
zuerst mal, setze deinen Code demnächst bitte in delphi-tags. Danke!
Deinen Fehler würdest du durch genaueres lesen auch selber finden:
in deiner Labelclick-procedure steht ja in der implementaion, zu wem die procedure gehört, nämlich zu THauptform. Deine 2te Procedure Fahrtrichtung_anzeige dagegen gehört nirgends zu (nur weil sie in der selben unit geschrieben wurde, heisst das noch lange nicht, das sie zu irgendwem gehört. Da sie nirgends zugeordnet ist, kann sie label1 nicht kennen, du musst also in der procedure angeben, wem genau das label gehört oder die procedure auch dem gleichen "Bereich" wie label1 zuordnen. Damit solltest du nun wissen, was falsch ist ;)
haderlump - Mi 19.05.10 06:03
Herzlichen Dank, das wars !! Ja die Anfänger halt, stolpern immer wieder über so einfache Dinge .
Ich hatte die Procedure einfach in der falschen Ebene deklariert.
Gruß Fritz
Delete - Mi 19.05.10 08:32
Oder um es kurz zu sagen: Deine Prozedur ist keine Methode der Formularklasse, so dass die Komponente dort unbekannt ist. mache sie zu einer Methode deiner Formularklasse und die Komponente ist auch dort bekannt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!