Die Lösung!
pSOP := @pCDS.lpData;
@ ist nicht gleich Pointer
So geht's.
pSOP := Pointer(pCDS.lpData);
Doch, Beide sind Pointer.
* ein Zeiger auf die Variable (was du nicht wolltes)
* ein Zeiger, auf den die Variable zeigt (was du wolltest)
Aber sicher, dass die Definition stimmt?
Zitat:
array[0..MAX_PATH] of AnsiChar;
Wenn es MAX_PATH groß sein soll, dann
array[0..MAX_PATH-1] of AnsiChar;
oder
array[1..MAX_PATH] of AnsiChar;