Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Auf Eigenschaft kann an dieser Stelle nicht zugegriffen werd (https://www.delphipraxis.net/80973-auf-eigenschaft-kann-dieser-stelle-nicht-zugegriffen-werd.html)

Luckie 18. Nov 2006 12:01


Auf Eigenschaft kann an dieser Stelle nicht zugegriffen werd
 
Ich habe folgende Klasse:
Delphi-Quellcode:
  TBankKontoCollection = class(TList)
  private
    function Get(Index: Integer): TBankKonto;
  public
    procedure Add(Item: TBankKonto);
    procedure Free;
    class function GetCount: Integer;
    property Items[Index: Integer]: TBankKonto read Get;
  end;
Die Klassen-Methode Count sieht so aus:
Delphi-Quellcode:
class function TBankKontoCollection.GetCount: Integer;
begin
  result := Count;
end;
Beim Kompilieren sagt er mir aber, dass auf die Eigenschaft Count an dieser Stelle nicht zu gegriffen werden kann. Allerdings wäre es vom Code her praktisch, wenn ich eine Klassen-Methode hätte, um an die Anzahl der Listeneinträge zu kommen. OK, ich könnte jedes mal selber mitzählen, aber TList besitt doch schon die Eigenschaft Count, die muss ich doch irgendwie nutzen können.

OregonGhost 18. Nov 2006 12:04

Re: Klassen Funktion: [Error] BankCls.pas(203): Property 'Co
 
Hmm, GetCount ist doch eine Klassenfunktion? Ist das nicht logisch, dass die nicht auf die Instanzvariable Count zugreifen kann? GetCount weiß doch gar nicht, auf welche Instanz du zugreifen willst. Wenn du das wirklich machen willst, musst du wohl oder übel GetCount einen Parameter übergeben, der auf die Instanz verweist. Aber dann kannst du auch gleich eine Instanzfunktion verwenden.

Luckie 18. Nov 2006 12:07

Re: Klassen Funktion: [Error] BankCls.pas(203): Property 'Co
 
Mist, stimmt. :wall:

Dann hat sich das erledigt.


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