Hallo,
in Delphi 2009 erhalte ich beim Kompilieren von
Indy 10.6 aus dem Subversion Repository eine Fehlermeldung in System\IdStackWindows.pas, der durch Überschreiben abstrakter Methoden ausgelöst wird.
Code:
C:\Delphi\
indy-10.6\Lib\System\IdStackWindows.pas(287) Error: E2137 Method 'GetSocketOption' not found in base class
C:\Delphi\
indy-10.6\Lib\System\IdStackWindows.pas(289) Error: E2137 Method 'SetSocketOption' not found in base class
C:\Delphi\
indy-10.6\Lib\System\IdStackWindows.pas(322) Fatal: F2063 Could not compile used
unit 'IdIDN.pas'
Code der Klasse TIdStackWindows in System\IdStackWindows.pas, Zeilen 287 bis 290 (aus der Fehlermeldung):
Delphi-Quellcode:
procedure GetSocketOption(ASocket: TIdStackSocketHandle; ALevel: TIdSocketOptionLevel;
AOptName: TIdSocketOption; var AOptVal; var AOptLen: Integer); override;
procedure SetSocketOption(ASocket: TIdStackSocketHandle; ALevel: TIdSocketOptionLevel;
AOptName: TIdSocketOption; const AOptVal; const AOptLen: Integer); override;
Code der Vorfahrklasse TIdStackBSDBase in System\IdStackBSDBase.pas (Zeilen 259 bis 266):
Delphi-Quellcode:
procedure GetSocketOption(ASocket: TIdStackSocketHandle; ALevel: TIdSocketOptionLevel;
AOptName: TIdSocketOption; out AOptVal: Integer); overload; override;
procedure GetSocketOption(ASocket: TIdStackSocketHandle; ALevel: TIdSocketOptionLevel;
AOptName: TIdSocketOption; var AOptVal; var AOptLen: Integer); overload; virtual; abstract;
procedure SetSocketOption(ASocket: TIdStackSocketHandle; ALevel: TIdSocketOptionLevel;
AOptName: TIdSocketOption; AOptVal: Integer); overload; override;
procedure SetSocketOption(ASocket: TIdStackSocketHandle; ALevel: TIdSocketOptionLevel;
AOptName: TIdSocketOption; const AOptVal; const AOptLen: Integer); overload; virtual; abstract;
Hat eventuell jemand mit einer höheren Delphi Version versucht
Indy 10.6 zu kompilieren? Ich habe den Verdacht dass es an der Delphi Version liegen könnte, weil die im Repository liegenden Sourcen sicher von den
Indy Entwicklern auch gelegentlich kompiliert werden und in IdGLobal längere Zeit keine Änderungen stattgefunden haben. Auch steht das XE4 ja bevor, in dem
Indy 10.6 enthalten sein wird...
Update: geposted unter
https://forums.embarcadero.com/threa...86197&tstart=0