Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#1

Variable nur in der unit sichtbar machen

  Alt 23. Mai 2007, 19:56
Hi,
wenn ich eine Variable im protected-Teil meiner Komponente deklariere kann diese ja auch von anderen Komponenten und Routinen die in dieser Unit enthalten sind verwendet werden. Dachte ich jedenfalls. So sieht mein Code aus:

Delphi-Quellcode:
type
 TTrack = record
   ...
   ...
 end;

 TTrackCollection = Array of TTrack;

type
  TTracks = class(TComponent)
  public
    function Add(Track: TTrack):Integer;
  end;

type
  TXSPF = class(TComponent)
  private
    FOptions: TOptions;
    FFilename: String;
    FTracks: TTracks;
  protected
    FTrackCollection: TTrackCollection;
  public
    property Tracks: TTracks read FTracks;
  published
    constructor Create(AOwner: TComponent); override;
    property Options: TOptions read FOptions write FOptions;
    property Filename: String read FFilename write FFilename;
  end;
Wenn ich jetzt in function TTracks.add(Track: TTrack):Integer; auf FTrackCollection zugreifen möchte, meldet der Compiler "[Pascal Fehler] XSPF.pas(89): E2003 Undefinierter Bezeichner: 'FTrackCollection'". Doch warum?

bye,
Andy
  Mit Zitat antworten Zitat