![]() |
Problem mit TWinControl
Hallo,
ich hab ein Programm geschrieben das beim Klick auf bestimmte Buttons bestimmte wav-dateien abspielt. Die Buttons sind von 1-9 durchnummeriert. Jetzt hab ich das noch so ergänzt dass (eigentlich) auch die entsprechende Datei abgespielt wird, wenn man die Taste auf dem Nummernblock drückt. (Taste "1" spielt "1.wav" ab, Taste "2" "2.wav" usw.) Das funktioniert aber nicht. Delphi (V7 Personal) zeigt unter dem Quelletxt an: "...verbirgt virtuelle Methode vom Basistyp 'TWinControl'" Wie bekomm ich das weg und warum funktionierts nicht? die Prozedur sieht so aus:
Delphi-Quellcode:
twert ist als String definiert.
procedure TForm1.KeyDown(Sender: TObject; var key: Word);
begin if key = VK_NUMPAD0 then twert := '0'; //...1-9 sndPlaySound(PChar(twert+'.wav'), SND_ASYNC); end; Die Namen und die vars im aufruf hab ich so in einem Tutorial gesehen. Da hats aber anscheinend so funktioniert .... jedenfalls hatten die das Problem nicht ... Gruß Mister X |
Re: Problem mit TWinControl
Indem du bei der Deklararation override ergänzt.
|
Re: Problem mit TWinControl
entweder du benutzt override um die ursprungsmethode zu überschreiben oder wenn das nicht beabsichtigt ist benenne deine Methode einfach um.
|
Re: Problem mit TWinControl
und was genau muss dann wo stehen?
|
Re: Problem mit TWinControl
Dann schau mal in die Delphi-Hilfe zum Thema override.
|
Re: Problem mit TWinControl
ja das funktioniert leider nicht .... was da steht ....
"Unbekannte Anweisung: 'override'"
Delphi-Quellcode:
Umbennen hat auch nichts gebracht ...
procedure KeyDown(...); override;
begin . . . end |
Re: Problem mit TWinControl
Moin!
Das Override muss im Interface Teil bei der Deklaration in der Klasse stehen und nicht unten im Implementation Teil. MfG Muetze1 |
Re: Problem mit TWinControl
Du sollst es ja bei der Deklaration in der Klassenmethode hinschreiben
Delphi-Quellcode:
Dein 2tes Beispiel
type
TForm1 = class(TForm) ... procedure KeyDown(Sender: TObject; var key: Word); override; end;
Delphi-Quellcode:
ist ja eine Prozedur und da kann es ja keine Überschriebene Version geben.
procedure KeyDown(...); override;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz