Zitat:
Eigentlich müsste mal beim Zugriff auf Pointer noch den Zeiger dereferenzieren MessageStructure^.hwndFrom
Das geht nicht nur wenn MessageStructure als PNMHdr definiert ist. (ZeigerTyp erforderlich)
Dein anderer Vorschlag geht auch ohne Speicher Reservierung.
Delphi-Quellcode:
function TSkinListView.ListViewProc(WinHandle: hWnd; Msg: UINT; wP: WParam; lP: LParam): LRESULT;
begin
case Msg of
WM_LBUTTONDBLCLK:
begin
OldSelected := GetCurSel(WinHandle);
MessageStructure.hwndFrom := WinHandle;
MessageStructure.idFrom := DlgItemID;
MessageStructure.code := NM_DBLCLK;
SendMessageW(GetParent(WinHandle), WM_NOTIFY, DlgItemID, LParam(@MessageStructure));
Result := 0;
exit;
end;
end;
Result := CallWindowProc(Pointer(FPrevClientProc), WinHandle, Msg, wP, lP);
end;
Ich lasse es mal mit NEW
Aber gut zu wissen das es auch anders geht.
gruss