AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kein Zugriff auf Elemente in Function

Ein Thema von Banetel.eu · begonnen am 9. Okt 2007 · letzter Beitrag vom 9. Okt 2007
Antwort Antwort
Benutzerbild von Banetel.eu
Banetel.eu

Registriert seit: 7. Okt 2007
31 Beiträge
 
Delphi 2007 Enterprise
 
#1

Kein Zugriff auf Elemente in Function

  Alt 9. Okt 2007, 10:19
Delphi-Quellcode:
function Spielfeld (Sender: TObject; var Feld, Mann1, Mann2: integer): Integer;
begin

If Feld = 1 then begin
 LabelFeld1.Caption:=Mannschaft[Mann1].name +' vs. '+ Mannschaft[Mann2].name;
end else if Feld = 2 then begin
 LabelFeld2.Caption:=Mannschaft[Mann1].name +' vs. '+ Mannschaft[Mann2].name;
end else begin
 LabelFeld3.Caption:=Mannschaft[Mann1].name +' vs. '+ Mannschaft[Mann2].name;
end;

end;
Ok erledigt habe TForm1. vor Spielfeld vergessen
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Kein Zugriff auf Elemente in Function

  Alt 9. Okt 2007, 10:25
Hallo,

Deine Funktion ist keine Methode von TForm1. Folglich kann sie auch nicht auf dessen Eigenschaften zugreifen. Du hast zwei Möglichkeiten:

a) Du machst auf Deiner Funktion eine Methode von TForm1.

b) Du referenzierst in Deiner Funktion die Eigenschaften mit "Form1.LabelFeld1".

Die Möglichkeit b) solltest Du aber gleich wieder vergessen. Du greifst damit nämlich auf eine globale Variable ("Form1") zu, die automatisch von der IDE erstellt wurde. Wenn Du diese umbenennst oder löschst, kracht alles zusammen. (Und wie jeder weiß: globale Variablen sind böse .)

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Banetel.eu
Banetel.eu

Registriert seit: 7. Okt 2007
31 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Kein Zugriff auf Elemente in Function

  Alt 9. Okt 2007, 10:37
Also so wie ich es oben beschreiben habe geht alles

Delphi-Quellcode:
function TForm1.Spielfeld (Feld, Mann1, Mann2: integer): Integer;
begin
If Feld = 1 then begin
 LabelFeld1.Caption:=Mannschaft[Mann1].name +' vs. '+ Mannschaft[Mann2].name;
end else if Feld = 2 then begin
 LabelFeld2.Caption:=Mannschaft[Mann1].name +' vs. '+ Mannschaft[Mann2].name;
end else begin
 LabelFeld3.Caption:=Mannschaft[Mann1].name +' vs. '+ Mannschaft[Mann2].name;
end;
end;
  Mit Zitat antworten Zitat
9. Okt 2007, 13:08
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Delphi-Frage
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz