Забыл перекодировку
И надо не SysToUTF8 а UTF8ToSys, т.е. так
INI := TIniFile.Create(UTF8ToSys(ProgramDirectory) + 'Config.ini');
McLion писал(а):ProgramDirectory это что за функция? Она работает и под Линукс и Мак?
Ну по идее должна. Просто она делает то же что и вы делали
- Код: Выделить всё
 {------------------------------------------------------------------------------
  function ProgramDirectory: string;
 ------------------------------------------------------------------------------}
function ProgramDirectory: string;
var
  Flags: TSearchFileInPathFlags;
begin
  Result:=ParamStrUTF8(0);
  if ExtractFilePath(Result)='' then begin
    // program was started via PATH
    {$IFDEF WINDOWS}
    Flags:=[];
    {$ELSE}
    Flags:=[sffDontSearchInBasePath];
    {$ENDIF}
    Result:=SearchFileInPath(Result,'',GetEnvironmentVariableUTF8('PATH'),':',Flags);
  end;
  // resolve links
  Result:=GetPhysicalFilename(Result,pfeOriginal);
  // extract file path and expand to full name
  Result:=ExpandFileNameUTF8(ExtractFilePath(Result));
end;