Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Variable deklariert und vorhanden (https://www.delphipraxis.net/131005-variable-deklariert-und-vorhanden.html)

SeriousToni 17. Mär 2009 11:50


Variable deklariert und vorhanden
 
Ich kann nicht verstehen warum Delphi immer "undefinierter Bezeichner FZustand" bringt. Mein Lehrer übrigens auch nicht..

Delphi-Quellcode:
unit Ampel;

interface

uses
  SysUtils, Classes, Controls, ExtCtrls,graphics;

type
  TZustand = (aus,rot,gelb,grun,rotgelb);

  TAmpel = class(TCustomPanel)
  private
  FZustand:TZustand;
  kreis1:tshape;
  kreis2:tshape;
  kreis3:tshape;
  procedure setZustand (value:TZustand); //wenn bei TZustand umgeschaltet wird dann wird der Parameter hier gespeichert
  protected
    { Protected-Deklarationen }
  public
   constructor create(AOwner:TComponent); override;

  published
  property Zustand:TZustand read FZustand write setZustand;
  end;

procedure Register;

implementation

procedure setZustand(value:TZustand);
begin
FZustand:=value; // FZustand rot unterstrichen
end;

procedure Register;
begin
  RegisterComponents('Eigene', [TAmpel]);
end;

constructor Tampel.create(AOwner:TComponent);
begin

Luckie 17. Mär 2009 11:55

Re: Variable deklariert und vorhanden
 
Also wenn das dein Lehrer nicht sieht, dann sollte er sich das Lehrbuch nochmal angucken. Deine Prozeduren sind keine Methoden der Klasse in der das Feld FZustand deklariert ist. Schreib den Klassennamen noch vor die Prozeduren.

PS: Genau genommen ist es keine Variable, sondern ein Feld oder Attribut einer Klasser.

_BlackDragon_ 17. Mär 2009 11:58

Re: Variable deklariert und vorhanden
 
Hi.

Die Methode setZustand(...) hast du als Member der Klasse TAmpel deklariert, aber ohne die Klassenzuordnung aufgerufen.

Aus

Delphi-Quellcode:
procedure setZustand(value:TZustand);
begin
FZustand:=value; // FZustand rot unterstrichen
end;
mache

Delphi-Quellcode:
procedure TAmpel.setZustand(value:TZustand);
begin
FZustand:=value; // jetzt nicht mehr :wink:
end;
Gruß

BlackDragon

PS: Deine Formatierung ist grauenhaft... :wink:

DeddyH 17. Mär 2009 12:05

Re: Variable deklariert und vorhanden
 
Und benutze bitte Delphi-Tags statt Code-Tags, dann werden reservierte Wörter auch hervorgehoben.

SeriousToni 17. Mär 2009 16:14

Re: Variable deklariert und vorhanden
 
Danke für eure Hilfe, ic hwerds morgen im Unterricht gleich ausprobieren! Ja das mit dem Lehrer ist so ne Sache, ic hfinds auch schade dass er die Dinge immer so sporadisch erklärt. Also ich persönlich bin noch nicht dahinter gestiegen, was genau ich da eigentlich mache, ich weiß nur dass zum Schluß Ne Ampel bei raus kommt o_O

Das mit dem Delphi Code habe ich leider übersehen, tut mir leid, aber jetzt weiß ichs ja besser :)

Ja meine Formatierung.. Die TabStops fehlen ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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