Einzelnen Beitrag anzeigen

MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#1

Verwendung einer Funktion in abgeleiteter Klasse

  Alt 25. Feb 2021, 06:53
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

Geändert von MechMac666 (25. Feb 2021 um 08:49 Uhr)
  Mit Zitat antworten Zitat