1. Nur mal eine Idee: Benutzt Du vielleicht in Deiner
DLL einen anderen oder auch speziellen Speichermanager als in der Exe?
2. Testhalber würde ich mal folgendes in der
DLL ändern:
Delphi-Quellcode:
function fnGetKnownFolderPath(sKnownFolderID : String) : String;
var
sPath: String;
begin
SetLength(SPath, MAX_PATH);
{$IFDEF VER220}
If sKnownFolderID = 'FOLDERID_Desktop' Then SHGetKnownFolderPath(FOLDERID_Desktop,0, 0, PWideChar(sPath));