Ach, verdammt, wieder so ein einfacher Fehler. Ich muss mich schämen. Der Fehler lag nicht an der Adresse, sondern daran, dass ich das Feld mit der Adresse gar nicht anfordere.
Folgendermaßen muss ich natürlich das Feld lParram holen:
Delphi-Quellcode:
with PNMHdr(lParam)^ do
begin
//falls es das Listview war...
if hWndFrom = hIncIPView then
begin
case code of
//Item wurde ausgewählt
LVN_ITEMACTIVATE:
begin
with PNMITEMACTIVATE(lParam)^ do
begin
LVItem.iItem := iItem;
LVItem.iSubItem := 0;
LVItem.mask := LVIF_PARAM; //<--
ListView_GetItem(hIncIPView, LVItem);
PacketRec := PPacketRec(LVItem.lParam);
end;
end;
end;
end;
end;
Das markierte Stück hab ich natürlich vergessen.
Jetzt klappt alles.
Mein Problem mit den Icons hab ich allerdings immer noch, falls also noch jemand zu
diesem Thread eine Idee hat - ich wär glücklioch