Hallo!
Ich hoffe, ihr könnt mir helfen. Ich versuche eine Ableitung von TIdTCPServer zu erstellen. Dabei hab ich ein Problem mit Create.
Delphi-Quellcode:
type
TMyServer = class(TIdTCPServer)
private
FUserManager: TIdUserManager;
procedure SetUserManager(const Value: TIdUserManager);
{ Private-Deklarationen }
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published-Deklarationen }
property UserManager: TIdUserManager read FUserManager write SetUserManager;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Meine Komponenten', [TMyServer]);
end;
{ TMyServer }
constructor TMyServer.Create(AOwner: TComponent);
var
ACommandHandler: TIdCommandHandler;
begin
inherited Create(AOwner); // hab auch schon nur inherited probiert
SetIntercept(TIdServerIntercept.Create(Self));
FIntercept.Name := 'Intercept';
SetIOHandler(TIdServerIOHandlerSocket.Create(Self));
FIOHandler.Name := 'IOHandler';
SetThreadMgr(TIdThreadMgrDefault.Create(Self));
FThreadMgr.Name := 'ThreadMgr';
SetUserManager(TIdUserManager.Create(Self));
FUserManager.Name := 'UserManager';
FUserManager.CaseSensitiveUsernames := True;
FUserManager.CaseSensitivePasswords := True;
ACommandHandler := FCommandHandlers.Add;
ACommandHandler.Command := '/quit';
ACommandHandler.Disconnect := True;
ACommandHandler.Name := 'CommandHandlerQuit';
ACommandHandler.OnCommand := CommandHandlerQuitCommand;
ACommandHandler.ReplyNormal.NumericCode := CodeCommandQuit;
ACommandHandler.ReplyNormal.Text.Add(TextCommandQuit);
end;
Wenn ich das override in der Deklaration weglasse, führt er meinen Code nicht aus. Bitte helft mir!!!