Hallo,
ich habe da ein Problem mit einer Funktion welche ich in einer abgeleiteten Klasse verwenden möchte.
Leider wird die abgeleitete Klasse nochmal abgeleitet.
Aber der Reihe nach:
In der "Basisklasse" gibt es eine Funktion ProcessURI.
Die war ursprünglich nur hier enthalten.
Delphi-Quellcode:
TWebSocketProtocol = class(TSynPersistent)
protected
...
function ProcessURI(const aClientURI: RawUTF8): boolean; virtual;
...
In der abgeleiteten Klasse habe ich es erneut definiert.
Mit der Kennzeichnung als override wird die Funktion auch aufgerufen.
Delphi-Quellcode:
TWebSocketProtocolChat = class(TWebSocketProtocol)
protected
...
function ProcessURI(const aClientURI: RawUTF8): boolean; override; //virtual geht nicht, override geht
...
Jetzt bin ich in meiner Projekt-
unit und habe die Klasse erneut abgeleitet,
aber ProcessURI wird nicht aufgerufen.
Delphi-Quellcode:
TWebSocketProtocolEcho = class(TWebSocketProtocolChat)
protected
function ProcessURI(const aClientURI: RawUTF8): boolean; override;
end;
......
function TWebSocketProtocolEcho.ProcessURI(const aClientURI: RawUTF8): boolean;
begin
result:=false; //Funktion wird nie aufgerufen
end;
Was habe ich bei der Weitergabe falsch gemacht?
Gruß, Andreas