Registriert seit: 22. Aug 2004
98 Beiträge
|
Re: virtuelle funktion
2. Apr 2010, 23:44
Delphi-Quellcode:
function ZWndProc(hWnd: HWND; dwMsg: ZDWORD; wParam: WPARAM; lParam: LPARAM): LRESULT;
var
pWnd : PZWindowBase;
pCS : PCreateStruct;
nUserData : ZINT;
begin
if dwMsg = WM_NCCREATE then
begin
pCS := PCreateStruct(lParam);
nUserData := ZINT(pCS.lpCreateParams);
SetWindowLongPtr(hWnd, GWL_USERDATA, nUserData );
end;
nUserData := GetWindowLongPtr(hWnd, GWL_USERDATA);
//pWnd := PZWindowBase(nUserData); // wieso funktionier das hier nicht richtig? fenster geschlossen, app nicht beendet
pWnd := PZWindowBase(@nNewData); // wieso funktioniert das? fenster geschlossen und app beendet
if Assigned(pWnd) then
Result := pWnd^.WndProc(hWnd, dwMsg, wParam, lParam)
else
Result := DefWindowProc(hWnd, dwMsg, wParam, lParam);
end;
bin ein bisschen verwirrt, kann mir das jemand erklaeren? versteh momentan die logik nicht
Peace on the world
|
|
Zitat
|