PS.: Ich habe mir hierfür eine mini
Unit gemacht die so was erledigt.
Delphi-Quellcode:
unit UseMyThread;
interface
Uses System.Classes,System.SysUtils,System.SyncObjs,System.Generics.Collections;
type
TMyThread =
class(TThread)
Private
FRunning : boolean;
E_Event : TEvent;
Protected
Procedure Execute;
override;
Public
Constructor Create;
Destructor Destroy;
override;
procedure Terminate;
reintroduce;
virtual;
Procedure MyExecute;
Virtual;
Abstract;
Procedure MyFree;
Virtual;
Abstract;
Procedure Go;
end;
finde ich persönlich eine ganze schlechte Architektur. Eine Threadausführung ist ein Hilfsmittel, da leitet man keine ganze Klasse davon ab.
Da es keine Mehrfachvererbung gibt, ist das unter Delphi sogar noch schlechter als in anderen Sprachen.
Und die Nachteile hab ich ja schon besprochen, es ist keine Nutzung eines gemeinsamen Threads gleichzeitig mit mehreren Objekten möglich.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.