Thema: Delphi Frage zu "absolute"

Einzelnen Beitrag anzeigen

DevilsCamp
(Gast)

n/a Beiträge
 
#1

Frage zu "absolute"

  Alt 17. Mär 2009, 09:06
Ich bin in einem Projekt (eigentlich für Freepascal) über folgenden Code gestolpert (vereinfacht):

Delphi-Quellcode:
interface

type
  TBasisSocket = class
  end;

  TNeuerSocket = class(TBasisSocket)
  public
    function MachWas: Integer;
  end;
  
  TBasisKlasse1 = class
  private
    FSocket: TBasisSocket;
  public
    constructor Create;
    destructor Destroy; override;
  end;
  
  TNeueKlasse = class(TBasisKlasse1)
  public
    procedure Irgendwas;
  end;
  
implementation

procedure TNeuerSocket.MachWas;
begin
  Result := FurchtbarWichtigeBerechnung * 3;
end;

constructor TBasisKlasse1.Create;
begin
  FSocket := TBasisSocket.Create;
end;

destructor TBasisKlasse1.Destroy;
begin
  FSocket.Free;
  
  inherited Destroy;
end;

procedure TNeueKlasee.Irgendwas;
var
  MySock: TNeuerSocket absolute FSocket;
begin
  ...
end;
Ich verwende bei Freepascal den SVN-Tree (also Version 2.3.1). Seit einer mir unbekannten Revision meldet der Compiler nun, dass "absolute" nur bei VAR- oder CONST-Werten verwendet werden darf.

Mein Verständnis bzgl. "absolute" sollte folgenden Code als identisch ansehen:
Delphi-Quellcode:
procedure TNeueKlasee.Irgendwas;
var
  MySock: TNeuerSocket;
begin
  MySock := TNeuerSocket(FSocket);
  ...
end;
Bitte korrigiert mich, falls ich falsch liege.
  Mit Zitat antworten Zitat