Hi Duffy,
haben wir in dem Code nich was vergessen *g*, Zitat aus der Doku zu SHGetSpecialFolderLocation():
Zitat:
The calling application is responsible for freeing this pointer with the Shell's IMalloc interface (see SHGetMalloc).
Delphi-Quellcode:
var
ppMalloc: IMalloc;
begin
if SHGetMalloc(ppMalloc) = NOERROR then
try
// Hier dein Aufruf ...
// Wenn Erfolg dann Versuch ...
try
// Hier kann noch mit der ItemID List gearbeitet werden
finally
ppMalloc.Free(pidl);
end;
finally
// Bis hier kann man ppMalloc auch statt GetMem/FreeMem gebrauchen
ppMalloc._Release;
end;
end;
Eigentlich gehört auch noch ein CoInitialize() davor, aber ich hatte bisher nie Probleme ohne es.