Zitat:
Du gehst fahrlässig davon aus, dass in LPARAM ein gewisser Record-Zeiger übergeben wird, aber was sagt denn die Dokumentation dazu?
Nur was soll ich dann verwenden anstelle von WM_LBUTTONDBLCLK
Du kannst das ja verwenden, aber wenn du per WM_NOTIFY einen Record weizergehen möchtest, musst du auch den nötigen Speicher reservieren.
Im Moment schreibst du, da der Parameter, den du einfach auf einen Pointer auf den Record castest, ja nicht einmal ein Pointer ist, an eine quasi zufällige Stelle im Speicher und hoffst, dass das gut geht...
Auffallen tut das bei dir, weil du eben nicht einfach überall in den Speicher schreiben darfst. Deshalb die Zugriffsverletzung.
Deiner Meldung zufolge hast du übrigens an Position 378/144 geklickt.
// edit
Mal ein Beispiel was du da machst:
Delphi-Quellcode:
var
a: Integer;
MessageStructure: PNMHdr;
begin
a := $017a0090;
MessageStructure := PNMHdr(a);
MessageStructure.hwndFrom := WinHandle;
...
end;
Die Fehlermeldung sollte deiner aktuellen sehr ähnlich sein.