2014-02-18 2 views
0

이상한 :델파이 XE5은 - 안드로이드 - TMemIniFile는 동작 내가 몇 가지 코드를 작성했습니다

MnemonicList := TStringList.Create(); 

{$IFDEF Android} 
    IniPath := TPath.Combine(TPath.GetDocumentsPath, ADefaultLanguage + '.ini'); { Internal } 
{$ENDIF} 

{$IFDEF Win32} 
    IniPath := TPath.Combine(ExtractFilePath(ParamStr(0)), 'Lang\' + ADefaultLanguage + '.ini'); 
{$ENDIF} 

if FileExists(IniPath) then 
begin 
MemIniFile := TMemIniFile.Create(IniPath); 
ShowMessage(IniPath); 

MemIniFile.ReadSections(MnemonicList); 
ShowMessage(IntToStr(MnemonicList.Count)); 
end; 

두 번째 ShowMessage() 4 윈도우에서 실행 0 안드로이드에서 실행이 ... 파일이 제대로 될 때와 경우에 결과를 FileExists (IniPath)는 Android에서도 True를 제공합니다. Android 및 Windows의 파일을 편집기에서도 열 수 있습니다. Android에서 TMemIniFile에 차이점이 있습니까?

+1

게시 한 내용만으로는 말하기 어렵지만 INI 파일이 Android에 채워져 있는지 확인하십시오. 응용 프로그램을 장치에 배포 할 때마다 저장소가 깨끗하게 지워집니다. 또한, 당신은 어떻게 당신의 길을 얻고 있습니까? 안드로이드에서 그것은'TPath.GetDocumentsPath + PathDelim + 'mysettings.ini'와 같아야합니다. – Sentient

+0

예, 괜찮습니다. 파일은 파일 시스템에 있습니다 ... 나는 지금 질문을 편집했습니다. –

+1

경로 설정이 나에게 잘 어울립니다. 안드로이드 프로젝트에서 TMemINIFile을 사용하는데 문제가 없습니다. 별도의 프로젝트를 만들 수 있으며 아주 간단한 읽기/쓰기 명령을 시도해보십시오. – Sentient

답변

1

인 코드 인 INI 파일에 문제가 있습니다. UTF-8 w/o BOM으로 변경했을 때 작동하기 시작했습니다.

관련 문제