Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Methode 'WndProc' nicht in Basisklasse gefunden? (https://www.delphipraxis.net/174044-methode-wndproc-nicht-basisklasse-gefunden.html)

AlexII 30. Mär 2013 08:46

Delphi-Version: XE2

Methode 'WndProc' nicht in Basisklasse gefunden?
 
Hallo,

ich hab ein folgendes Problem und komme nicht weiter, und zwar die Methode 'WndProc' wird bei mir nicht in Basisklasse gefunden. Woran kann es denn liegen? Hier mein Code:

Delphi-Quellcode:
...
  public
    { Public-Deklarationen }
    procedure WndProc(var Msg: TMessage); override;
...

...
procedure TForm1.WndProc(var Msg: TMessage);
begin
  inherited;
  if Msg.Msg = WM_INFO_UPDATE then
    case msg.WParam of
      0:
        begin
          Label4.Text := 'connecting...';
          Label3.Text := '';
          Label5.Text := '';
        end;
      1:
        begin
          Label4.Text := 'not playing';
          //Error('Can''t play the stream');
         MessageBox(win, PChar('Can''t play the stream' + #13#10 + '(error code: ' +
            IntToStr(msg.LParam)+')'), nil, 0);

        end;
      2: Label4.Text := Format('buffering... %d%%', [msg.LParam]);
      3: Label4.Text := String(PAnsiChar(msg.LParam));
      4: Label5.Text := String(PAnsiChar(msg.LParam));
      5: Label5.Text := String(PAnsiChar(msg.LParam));
      6: Label3.Text := String(PAnsiChar(msg.LParam));
      7: Label3.Text := String(PAnsiChar(msg.LParam));
      8: Label5.Text := String(PAnsiChar(msg.LParam));
    end;
end;
...

Sir Rufo 30. Mär 2013 12:38

AW: Methode 'WndProc' nicht in Basisklasse gefunden?
 
Liegt evtl. daran, dass die in der Basisklasse nicht drin ist?

Hast du dir die Basisklasse/n schon mal angeschaut, ob da etwas definiert ist?

Wenn du in der Klassendeklaration in einer leeren Zeile bist dann drücke einfach mal SHIFT-STRG-SPACE und du bekommst alle Methoden aufgelistet, die in den Vorgängerklassen als
Delphi-Quellcode:
virtual
deklariert wurden.
Das ist einfach und spart Tipparbeit und meistens den Blick in die Dokumentation/Quellcode

Uwe Raabe 30. Mär 2013 12:46

AW: Methode 'WndProc' nicht in Basisklasse gefunden?
 
Der Name der Klasse legt nahe, daß es von TForm abgeleitet ist. Da WndProc bereits in TControl eingeführt wird, liegt das Problem offenbar woanders.

Wir brauchen wohl mehr Code...

OrNEC 30. Mär 2013 12:50

AW: Methode 'WndProc' nicht in Basisklasse gefunden?
 
Zitat:

Zitat von Sir Rufo (Beitrag 1209428)
Liegt evtl. daran, dass die in der Basisklasse nicht drin ist?

Hast du dir die Basisklasse/n schon mal angeschaut, ob da etwas definiert ist?

Was ist hier eigentlich mit Basisklasse gemeint, welche ist das überhaupt?

Komischerweise hab diesen Fehler nur mit FireMonkey Form, sonst nicht.

Sir Rufo 30. Mär 2013 13:06

AW: Methode 'WndProc' nicht in Basisklasse gefunden?
 
Basisklasse ist die Klasse von der man die eigene ableitet runter bis TObject

Uwe Raabe 30. Mär 2013 13:54

AW: Methode 'WndProc' nicht in Basisklasse gefunden?
 
Zitat:

Zitat von OrNEC (Beitrag 1209431)
Komischerweise hab diesen Fehler nur mit FireMonkey Form, sonst nicht.

Da FireMonkey auch auf anderen Plattformen läuft, gibt es dort kein WndProc (zumindest nicht in der Hierarchie der Controls).

AlexII 30. Mär 2013 18:34

AW: Methode 'WndProc' nicht in Basisklasse gefunden?
 
Hm... und was mache ich jetzt? :?

Uwe Raabe 30. Mär 2013 22:02

AW: Methode 'WndProc' nicht in Basisklasse gefunden?
 
Zitat:

Zitat von AlexII (Beitrag 1209451)
Hm... und was mache ich jetzt? :?

Da wir nicht wissen, was du vorhast...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz