Announcement

Collapse
No announcement yet.

in neuer Koponente Events des ClientSockets behandeln!?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • in neuer Koponente Events des ClientSockets behandeln!?

    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.
Working...
X