Es ist vieleicht wichtig welche
Indy-Version überhaupt verwendet wird.
Bei
Indy-9 ist das Event so deklariert:
Delphi-Quellcode:
TIdServerThreadEvent = procedure(AThread: TIdPeerThread) of object;
{...}
property OnExecute: TIdServerThreadEvent read FOnExecute write FOnExecute;
Auf jeden Fall sind alle Events als "of object" vereinbart und erwarten damit die Methode einer Klasse. Also implementiere in deiner Klasse einfach die entsprechende Ereignismethode, so wie das Ereignis
in deiner Version der Komponente definiert ist:
Delphi-Quellcode:
TServerAblauf = class(TObject)
protected
FServer : TIdTcpServer;
procedure DoExecute(AThread: TIdPeerThread);
public
constructor Create(server : TIdTcpServer);
end;
constructor TServerAblauf.Create(server : TIdTcpServer);
begin
inherited Create;
FServer := server;
// hier evtl. noch Events auf eigene Methoden richten
FServer.OnExecute := DoExecute;
end;
procedure TServerAblauf.DoExecute(AThread: TIdPeerThread);
begin
// Hier tun, was zu tun ist.
end;