Забыл перекодировку
И надо не 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;