Autor Beitrag
Knaeckebrotknabberer
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 24.03.11 18:33 
Hallo. Ich habe Informatik (leider nicht sonderlich erfolgreich) in der Schule. Momentan sind wir beim Thema Objektorientierung. Wir arbeiten an einer Art Quartett (Kartenspiel).
Jetzt habe ich einige Teile unter "protected" deklariert, aber das Programm ignoriert einfach die Deklaration und gibt die Fehlermelung "nicht deklariert". Es funktioniert auch nicht, wenn ich es unter "public" deklariere. Keine Fehlermeldung wird angezeigt, wenn ich es im Programmteil deklariere, indem der Fehler angezeigt wird, aber dann kann ich die variable ja nur dort verwenden und nicht in den unterklassen.... weiß jemand was ich falsch gemacht habe? Ich hoffe auf schnelle Antwort. Danke :)

Hier ein Ausschnitt aus dem Quelltext:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
...
  protected
    spielfeld: TSpielfeld;
    i, j : integer;
    gewinner, spieler1, spieler2:integer;
    gewaehlt:boolean;
...
procedure SpielzugAuswerten;
begin
  if spielfeld.RadioButton1.Checked and (strtoint(spielfeld.Label3.Caption) < strtoint(spielfeld.Label7.Caption))
  then gewinner:=1
     else
...


Die variable spielfeld und gewinner, sowie später auch spieler1 und spieler2 werden als nicht deklariert angezeigt.


Moderiert von user profile iconChristian S.: Topic aus Neue Einträge / Hinweise / etc. verschoben am Do 24.03.2011 um 17:35
Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 24.03.11 18:37 
Hallo und :welcome:!

Du hast ja keine Variablen deklariert, sondern Felder einer Klasse. Aber die Prozedur, in der Du die Felder benutzen willst, ist keine Methode dieser Klasse, sondern eine globale Prozedur! Sozusagen "freistehend". Daher kannst Du nicht auf Member der Klasse zugreifen.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".

Für diesen Beitrag haben gedankt: Knaeckebrotknabberer
Knaeckebrotknabberer Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 24.03.11 18:40 
achso.... das ist echt ein dummer Fehler xD
Dankeschön :)