Thema: Delphi virtuelle funktion

Einzelnen Beitrag anzeigen

JnZn558

Registriert seit: 22. Aug 2004
98 Beiträge
 
#9

Re: virtuelle funktion

  Alt 2. Apr 2010, 22: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
  Mit Zitat antworten Zitat