Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Class Ereignisse vererben

  Alt 28. Jan 2005, 12:59
Wozu denn so kompliziert ?

Zitat von shmia:
Delphi-Quellcode:
procedure TAbgeleitetClass.DoOnKeyDown(var Key: Word; Shift: TShiftState);
begin
   // einfach nichts tun (und v.a. nicht inherited aufrufen)
end;
Wozu noch extra ein DoOnKeyDown verwenden ?

Delphi-Quellcode:
TfrmNrEin = class(TForm)
...
  procedure FormKeyDown(Sender: TObject; var Key: Word;
    Shift: TShiftState); // enthält Code
...
  private
...
end;

// noch einige Ableitungen mehr, bevor die relevante Class kommt :

TfrmNrEin1 = class(TfrmNrEin)
...
  procedure FormKeyDown(Sender: TObject; var Key: Word;
    Shift: TShiftState); // soll nichts machen
...
end;
So siehts momentan aus. Und daß der Trick mit dem "leer lassen" geht habe ich schon vorher gesagt. Und zwar einfach so :

Delphi-Quellcode:
procedure TfrmNrEin1.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
// inherited;
end;
Mich stört nur, daß Delphi automatisch das OnKeyDown weg macht, sofern auch der Kommentar weg ist. Wenn jetzt jemand denkt, der leere Kommentar könne genauso gut gleich gelöscht werden, dann läuft das Programm nicht mehr und zwar, ohne daß irgendwo eine Fehlermeldung kommt ! Dann schlägt nämlich das Vorfahr-OnKeyDown ohne Vorwarnung zu !!
Gruß
Hansa
  Mit Zitat antworten Zitat