Zitat von
SirThornberry:
ahh, du musst die methode nicht neu schreiben. Wenn du die Funktion überschreibst wird diese aufgerufen (somit bekommst du Kenntnis das diese aufgerufen wurde). Um nun das auszuführen was in der alten methode ausgeführt wurde musst du die funktion nicht neu schreiben sondern rufst einfach mit inherited die alte methode auf! (ich glaube dir fehlen entscheidende Grundlagen in Delphi)
Delphi-Quellcode:
type
TNet7Server = class(TServerSocket)
protected
procedure ClientDisconnect(Socket: TCustomWinSOcket); override;
[...]
procedure TNet7Server.ClientDisconnect(Socket: TCustomWinSOcket);
begin
//Hier Source plazieren der ausgeführt werden soll bevor event ausgelöst wird
inherited ClientDisconnect(Socket); //Damit wird die alte ClientDisconnect-Methode aufgerufen welche unter anderem das OnClientDisconnect auslöst
//Hier Source plazieren der ausgeführt werden soll nach dem event ausgelöst wurde
end;
Hmmm so habe ich es ja probiert, nur es funktioniert ja nicht, weil mir beim Compilieren der Fehler auftritt.. "Methode ClientDisconnect" nicht in Basisklasse gefunden.
Und ich konnte die richtige Basisklasse auch bis jetzt nicht ermitteln.
Ich helfe mir nun aus in der Anwendung damit die Daten zurückzuvermitteln
in die Komponente.
Delphi-Quellcode:
procedure TForm1.Net7Server1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Net7Server1.ClientDeleteList(Socket);
end;
deklariert in der kompo ist das so
Delphi-Quellcode:
.
.
public
procedure ClientDeleteList(DSocket: TCustomWinSocket);virtual;
.
.
.
Ich weiß das das absolut unelegant ist. Nur was soll ich machen...
Marko
So`ne Atombombe kann einem den ganzen Tag verderben!
Eine eigene
DLL in C++ geschrieben wird meist ein Sklave für mein Delphi/Pascal.