Einzelnen Beitrag anzeigen

Benutzerbild von Net7
Net7

Registriert seit: 22. Jun 2004
Ort: Lauenburg
161 Beiträge
 
Delphi 7 Professional
 
#23

Re: Wie geerbte Ereignisse verarbeiten ??

  Alt 29. Okt 2005, 18:54
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.
  Mit Zitat antworten Zitat