0
Я написал код:Delphi xe5 - Android - 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, когда работает на Windows, и 0, когда работает на Android ... Файл заполняется правильно и FileExists (IniPath) дает True также на Android. Я также могу открывать файлы на Android и Windows в редакторе. Есть ли какие-либо отличия в TMemIniFile на Android?
Сложно сказать только то, что вы разместили, но вы уверены, что INI-файл заполнен на Android? Помните, что каждый раз, когда вы развертываете приложение на своем устройстве, хранилище очищается. Кроме того, как вы получаете свой путь? На Android это должно быть что-то вроде этого: 'TPath.GetDocumentsPath + PathDelim + 'mysettings.ini'' – Sentient
Да, все в порядке. Файлы находятся в файловой системе ... Я редактировал вопрос сейчас. –
Ваша установка пути выглядит хорошо для меня. Я использую TMemINIFile в проекте на Android, и у меня не было никаких проблем. Вы можете попробовать создать отдельный проект и просто попробовать очень простую команду чтения/записи. – Sentient