Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#4

Re: Zugriff auf Komponenten aus eigener Prozedur

  Alt 22. Aug 2006, 13:33
Zitat von gfjs:
for i := 0 to Panel1.Controls.Count - 1 do something Fehlermeldung: Nicht deklarierter Bezeichner ...
for i := 0 to frmSpielplan.Panel1.Controls.Count - 1 do something Fehlermeldung: frmSpielplan enthält kein Element namens Panel1 ...
Bei der ersten Fehlermeldung sollte doch auch angegeben sein, welcher Bezeichner nicht deklariert wurde.

Beim zweiten Versuch sollte geändert werden:
Delphi-Quellcode:
// nicht:
frmSpielplan.Panel1.Controls.Count
// sondern:
self.Panel1.Controls.Count
Denn Panel1 ist als Bestandteil der Klasse TfrmSpielplan und nicht der Instanz eingeführt.

Beide Fehlermeldungen zusammen lassen mich aber vermuten, dass zwischen dem Formular und Panel1 noch ein anderes Control als Zwischenschicht liegt.

Merke: Unter NET sind Controls (direkt) immer nur innerhalb eines Containers enthalten, gehören aber nicht unmittelbar zum Formular. (Deswegen muss man, wenn man z.B. alle Arten von Labels anpassen will, rekursiv alle Container durchlaufen.)

Hilft dies? Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat