Hi.
Ich schreib an eine Komponente, die die Standart Socket- Komponenten erweitern sollen. An einer Stelle häng es jedoch. Ich will die Standart- Events des ClientSocket zum Teil einfach "durchreichen", zum anderen aber Verändern. Und genau das bekomm ich nicht richtig hin. Bin am probieren, aber weiß nicht weiter. Vielleicht kann jemand helfen?
Ich will z.B. das Ereignis "OnError" abfangen und dann so, wie man es in einem Formular machen kann, z.B. beim Ereigniss "OnError" den Wert Errorcode auf 0 setzen nachdem ich den Errorcode für mich ausgewertet habe.
Bisher hab ich (Ausszugsweise) das so versucht:
tSteuerkanal = class (TClientSocket)
private
Busy:boolean;
Success:boolean;
FOnRead : TNotifyEvent;
FOnError : TNotifyEvent;
protected
PROCEDURE DoOnError;
public
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
published
property IsBussy : boolean read Busy write Busy;
property erfolgreich : boolean read success write success;
property OnError : TNotifyEvent read FOnError write FOnError;
property OnRead : TNotifyEvent read FOnRead write FOnRead;
end;
CONSTRUCTOR tSteuerkanal.Create(AOwner:TComponent);
BEGIN
Inherited Create(self);
Inherited OnError:=DoOnError;
END;
procedure tSteuerkanal.DoOnError(Sender: TObject;Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;var ErrorCode: Integer);
BEGIN
END;
Jetzt bekomm ich aber immer die Meldung die Listen der Parameter würden nicht übereinstimmen. Hab keine Ahnung was das sein soll. Auch wenn ich die Variablenliste bei DoOnError weg lassen, bekomm ich die Meldung. Wie kann ich das richtig behandeln. Ein einfaches überschreiben wie z.B. bei einem Nachkommen von tEdit via override von DoEnter oder DoExit geht ja leider nicht, da ich eine Entsprechung beim ClientSocket nicht gefunden habe.
Ich schreib an eine Komponente, die die Standart Socket- Komponenten erweitern sollen. An einer Stelle häng es jedoch. Ich will die Standart- Events des ClientSocket zum Teil einfach "durchreichen", zum anderen aber Verändern. Und genau das bekomm ich nicht richtig hin. Bin am probieren, aber weiß nicht weiter. Vielleicht kann jemand helfen?
Ich will z.B. das Ereignis "OnError" abfangen und dann so, wie man es in einem Formular machen kann, z.B. beim Ereigniss "OnError" den Wert Errorcode auf 0 setzen nachdem ich den Errorcode für mich ausgewertet habe.
Bisher hab ich (Ausszugsweise) das so versucht:
tSteuerkanal = class (TClientSocket)
private
Busy:boolean;
Success:boolean;
FOnRead : TNotifyEvent;
FOnError : TNotifyEvent;
protected
PROCEDURE DoOnError;
public
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
published
property IsBussy : boolean read Busy write Busy;
property erfolgreich : boolean read success write success;
property OnError : TNotifyEvent read FOnError write FOnError;
property OnRead : TNotifyEvent read FOnRead write FOnRead;
end;
CONSTRUCTOR tSteuerkanal.Create(AOwner:TComponent);
BEGIN
Inherited Create(self);
Inherited OnError:=DoOnError;
END;
procedure tSteuerkanal.DoOnError(Sender: TObject;Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;var ErrorCode: Integer);
BEGIN
END;
Jetzt bekomm ich aber immer die Meldung die Listen der Parameter würden nicht übereinstimmen. Hab keine Ahnung was das sein soll. Auch wenn ich die Variablenliste bei DoOnError weg lassen, bekomm ich die Meldung. Wie kann ich das richtig behandeln. Ein einfaches überschreiben wie z.B. bei einem Nachkommen von tEdit via override von DoEnter oder DoExit geht ja leider nicht, da ich eine Entsprechung beim ClientSocket nicht gefunden habe.