Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6

Re: Brush- und Pen-Farbe wird nicht angenommen

  Alt 8. Apr 2005, 17:18
Zitat:
dass der Befehl "inherited" auch Parameter annehmen und einen Rückgabewert zurückgeben kann.
Die Direktive "inherited" ruft die Vorgänger-Prozedur/Funktion der Vorgängerklasse auf.

D.h eine Prozedur die den selben Name hat wie die aktuelle Prozedur und keine Parameter hat sieht so aus:

Delphi-Quellcode:
procedure TNachfolgerKlasse.EineProzedur;
  inherited; // Ruft "EineProzedur" der Vorgängerklasse auf
end;
Eine Prozedur die einen Parameter weitergibt so:

Delphi-Quellcode:
procedure TNachfolgerKlasse.EineProzedur(AParam: string);
  inherited EineProzedur(AParam); // Ruft "EineProzedur" der Vorgängerklasse auf und übergibt den Parameter
end;
Bei einer Funktion ohne Parameter sieht das so aus:

Delphi-Quellcode:
function TNachfolgerKlasse.EineFunktion;
  Result := inherited; // Ruft "EineFunktion" der Vorgängerklasse auf
end;
Eine Funktion die einen Parameter weitergibt:

Delphi-Quellcode:
function TNachfolgerKlasse.EineFunktion(AParam: string);
  Result := inherited EineFunktion(AParam); // Ruft "EineFunktion" der Vorgängerklasse auf
end;

Bye


Btw: Wenn du in deiner abgeleiteten Klasse eine Funktion bzw Prozedur aufrufen möchtest die nicht den gleichen Namen hat wie der in der du dich befindest, reicht "inherited" allein nicht, sondern der prozedur/funktion-name muss dahinter.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat