вопрос простой. Попробую на примере.
Евть в $FPCDIR/fcl-web/src/websocket/fpwebsocketclient.pp вот такой вот класс
- Код: Выделить всё
- TWSThreadMessagePump = Class(TWSMessagePump)
 Private
 FThread : TThread;
 Procedure ThreadTerminated(Sender : TObject);
 Protected
 Type
 TMessageDriverThread = Class(TThread)
 Public
 FPump : TWSThreadMessagePump;
 Constructor Create(aPump : TWSThreadMessagePump; aTerminate : TNotifyEvent);
 Procedure Execute;override;
 End;
 Public
 Procedure Execute; override;
 Procedure Terminate; override;
 End;
Нужно в моем классе перекрыть TMessageDriverThread.Execute , ну скажем чтобы вебсок клиент посылал серверу пинг, и если сервер отвалится, то отбой.
Как нужно извратиться? Пробовал так, но ругается, что не видит TMessageDriverThread, хотя у анцестора TWSThreadMessagePump он в protected.
- Код: Выделить всё
- unit myunit
 interface
 uses fpwebsocketclient;
 type
 TMyWSMsgPump_descendant = class (TWSThreadMessagePump )
 protected
 type
 TMyDrvThread_descendant = Class(TMessageDriverThread )
 Public
 Procedure Execute;override;
 End;
 end;
 ....
 interface
 Procedure TMyWSMsgPump_descendant.TMessageDriverThread.Execute;
 begin
 inherited;
 ......
 end;
 implementation
 ----
 end;



