Einzelnen Beitrag anzeigen

Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Spezielle Konstruktion funktioniert in D2005 nicht mehr

  Alt 25. Dez 2004, 14:33
Hallo,

ich hatte unter Delphi 7 diese Konstruktion (bzw. Klasse), die ohne Probleme funktionierte:

Delphi-Quellcode:
type
  TCipher = class(TObject)
  protected
    class function GetGUID(): TGUID; virtual; abstract;
    class function GetName(): WideString; virtual; abstract;
    class function GetShortDesc(): WideString; virtual; abstract;
    class function GetAdvDesc(): WideString; virtual; abstract;
    class function GetDevelopers(): WideString; virtual; abstract;
    class function GetSecurity(): Integer; virtual; abstract;
    class function GetSpeed(): Integer; virtual; abstract;
  public
    property Name : WideString read GetName;
    property ID : TGUID read GetGUID;
    property ShortDesc : WideString read GetShortDesc;
    property AdvDesc : WideString read GetAdvDesc;
    property Developers : WideString read GetDevelopers;
    property Security : Integer read GetSecurity;
    property Speed : Integer read GetSpeed;

    procedure WriteInformationToStream(F: TStream); virtual; abstract;
    procedure ReadInformationFromStream(F: TStream); virtual; abstract;

    procedure EnCryptText(const InPut, Password: WideString;
      var Result: WideString); virtual; abstract;
    procedure EnCryptFile(InPut, OutPut: TStream;
      const Password: WideString); virtual; abstract;
    procedure DeCryptText(const InPut, Password: WideString;
      var Result: WideString); virtual; abstract;
    procedure DeCryptFile(InPut, OutPut: TStream;
      const Password: WideString); virtual; abstract;
end;
Unter Delphi 2005 bekomme ich jedoch diese Fehlermeldungen:
Zitat:
[Fehler] uAppCipherClass.pas(30): E2356 Für Eigenschaftszugriff muss ein Instanzenfeld oder eine Instanzenmethode verwendet werden
[Fehler] uAppCipherClass.pas(22): E2065 Ungenügende Forward- oder External-Deklaration: 'TCipher.GetGUID'
Erstere für jede property, letztere für jede Abstrakte Methode.

Was mache ich falsch und wieso ist solch ein Konstrukt nicht mehr in Delphi Win32 in Delphi 2005 erlaubt?

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat