anchor.diff:  
     TFolderHelper = record
     strict private
  -    {$IFnDEF FPC}
  +    {$IF (not Defined(FPC)) and (Defined(MSWINDOWS))}
       class function GetFolder(const aCSIDL: Integer): string; static;
       {$ENDIF}
       class function GetAppDataFolder : string; static;
  
positive.code: 
  uses
  {$IFnDEF FPC}
    Windows, ShlObj,
    {$DEFINE FILEVERSIONINFO}
  {$ELSE}
    {$IFDEF WIN}
    Windows,
    {$DEFINE FILEVERSIONINFO}
    {$ENDIF}
    {LCLIntf, LCLType, LMessages,}
  {$ENDIF}
    SysUtils;
  
  {$I config.inc}
  
  {$IFnDEF FPC}
  function SHGetFolderPath(hwnd: HWND; csidl: Integer; hToken: THandle;
    dwFlags: DWord; pszPath: LPWSTR): HRESULT; stdcall;
    forward;
  
negative.code:   Result :=GetEnvironmentVariable('HOME');
    {$ENDIF}
    {$ELSE}
    {$IFDEF MSWINDOWS}
    Result := GetFolder(CSIDL_APPDATA); // c:\Users\(User Name)\AppData\Roaming
    {$ELSE}
    Result := TPath.GetDocumentsPath;
    {$ENDIF}
    {$ENDIF}
  end;
  
  {$IF (not Defined(FPC)) and (Defined(MSWINDOWS))}
  class function TFolderHelper.GetFolder(const aCSIDL: Integer): string;
  var
    FolderPath: array[0 .. MAX_PATH] of Char;
  