Einzelnen Beitrag anzeigen

Benutzerbild von sieppl
sieppl

Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
 
Delphi 7 Professional
 
#3

Re: Zusammenhang TWMDeviceChange und TMessage

  Alt 23. Aug 2004, 07:36
Sorry, aber das hilft mir garnicht weiter. Die DBT.pas benutze ich sowieso schon. Jetzt habe ich auch folgendes probiert:

Delphi-Quellcode:
PassMessage: TWMDeviceChange;
...
PassMessage.Msg := uMsg;
PassMessage.Event := wp;
PassMessage.dwData := @lp;
PassMessage.Result := 0;
CheckWMDeviceChange(PassMessage);
Beim Zuweisen ist der Compiler glücklich, aber beim Prozeduraufruf stimmem, die formalen und tatsächlichen nicht überein. Obwohl die Records eigentlich identisch sind.
Wo wird denn das umtypen von Delphi gemacht, wenn ich eine Prozedur habe:

Delphi-Quellcode:
procedure WMDEVICECHANGE(var Msg: TWMDeviceChange);message WM_DEVICECHANGE;
//anstatt
procedure WMDEVICECHANGE(var Msg: TMessage);message WM_DEVICECHANGE;
und wo ist WndProc überladen? Ich finde im Netz Beipspiele mit folgenden 2 Varianten:
Delphi-Quellcode:
function WndProc(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT; stdcall;
//oder
function WndProc(var Msg: TMessage): LRESULT; stdcall;
funktioniet beides. Aber warum? Ich wäre echt glücklich, wenn ich hier mal den Bogen spannen kann.
Sebastian
  Mit Zitat antworten Zitat