-
Постов
14 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Roman V
-
-
1 час назад, Rusland сказал:
Вообще никаких сообщений не показывается?
Блин. Я вообще не понимаю что с этим андроидом. Оказывается он ругался на загрузку картинки. Так вот я закомментировал строку загрузки картинки щас. Теперь прога запускается, однако почему то не считывает данные с ini файла((((. Юзаю этот код. Однако в конченом результате на экране выводится только Def, Def, Def, Def. А то что под ключем "Ответ1" вообще игнорится...((
void __fastcall TForm1::FormShow(TObject *Sender) { Form1->Updated(); Form1->Updating(); Button1->Text = Ini->ReadString(butId, "Ответ1", "Def"); Button2->Text = Ini->ReadString(butId, "Ответ2", "Def"); Button3->Text = Ini->ReadString(butId, "Ответ3", "Def"); Button4->Text = Ini->ReadString(butId, "Ответ4", "Def"); right = StrToInt(Ini->ReadString(butId, "right", "0")); //Image1->Bitmap->LoadFromFile("img\\" + IntToStr(butId) + ".jpg"); Label1->Text = butId; }
-
6 минут назад, Rusland сказал:
Что значит не запускается? В режиме дебаг что-то выдает наверное...
Компиляция проходит успешно. Но итоге все отлично работает на windows,а под Андроид при запуске висит только значок firemonkey пару секунд и приложение вырубается так и не запустившись. Debug чист.
-
1 час назад, Rusland сказал:
Какую ошибку при этом выдает?
Вот щас попробовал вообще попробовал в левую папку кинуть ini файл и задеплоудить. Строка остается активной, однако на андроиде проект не запускается, хоть и компиляция проходит успешно...
-
6 часов назад, mazayhin сказал:
Добавьте нужные файлы, укажите путь и все.
Не до конца понял как с этим работать. Шаги: пишу код
#ifdef __ANDROID__ String path = System::Ioutils::TPath::Combine (System::Ioutils::TPath::GetDocumentsPath(), L"options.ini");
->добавляю файл в Deployment Manager ->указываю путь(assets internal), кидая в папку assets файл-ini->нажимаю Deploy. После этого файл-ini из папки удаляется и сама строка становится не активной. И при запуске естественно приложение сразу же вырубается так и не запустившись. Что я делаю не так? И да. Пробовал класть ini файл в другую директорию, и загружать оттуда, но в Remote Path все равно указывал assets\internal. В таком случае строка остается активной, однако приложение не запускается...
-
В 26.10.2017 в 15:40, Kitty сказал:
1. std::unique_ptr используется чтобы избавиться от delete. std::unique_ptr все делает сам.
2. Файл ini для Андроида надо сохранить в UTF-8.Спасибо большое! У тебя все правильно). Сегодня решил еще раз зайти и посмотреть со свежей головой. И вот, оказывается я не туда писал код просто. Приложение теперь запускается на Андроиде, но как мне создать файл ini во внутренней папке андроида? Если поместить файл ini в asset, то при компиляции все из этой папки удаляется, и приложение запускается без необходимых данных. Как решить эту беду. Как сделать так, чтобы файл считывался из папки assets?)
-
51 минуту назад, Rusland сказал:
Покажите ваш код
По сути весь основной код уже сверху написан
#ifdef __ANDROID__ String path = System::Ioutils::TPath::Combine (System::Ioutils::TPath::GetSharedDownloadsPath(), L"options.ini"); #elif _Windows String path = System::Ioutils::TPath::Combine(ExtractFilePath(ParamStr(0)), L"options.ini"); #endif if (FileExists(path)) { std::unique_ptr <TIniFile> Ini(new TIniFile(path)); String ip = Ini->ReadString(L"HOST", L"ip", L"127.0.0.1"); } int butId; // номер вопроса
Далее идет код, который передает данные с ini на кнопки.
void __fastcall TForm1::FormShow(TObject *Sender) { Form1->Updated(); Form1->Updating(); Button1->Text = Ini->ReadString(butId, "Ответ1", "Def"); Button2->Text = Ini->ReadString(butId, "Ответ2", "Def"); Button3->Text = Ini->ReadString(butId, "Ответ3", "Def"); Button4->Text = Ini->ReadString(butId, "Ответ4", "Def"); right = StrToInt(Ini->ReadString(butId, "right", "0")); Image1->Bitmap->LoadFromFile("img\\" + IntToStr(butId) + ".jpg"); Label1->Text = butId; }
Ну и еще там по мелочи. Все писать не буду. Т.к. в остальном ini не фигурирует.
-
26 минут назад, enatechno сказал:
P.S. Когда задаете вопрос, указывайте версию RAD, версию Android и устройство на котором тестируете
Запускаю на Lenovo A806, Android 4.4.2. Кастомная Lewa OS. Пробовал запускать другой код. Все работает. Однако с ini не хочет. Все галочки стоят.
-
Компилируется если закомментировать саму проверку. Но далее все равно прога на андроиде не запускается (только значок файерманки висит). А на винде все так же отлично работает.
-
51 минуту назад, Gingercat сказал:
я ПОНИМАЮ, что это бред, но попробовать то можно.
Не прокатило((
-
34 минуты назад, Kitty сказал:
Эта строка ни причем. Судя по ошибке, где-то ошибка в коде в синтаксе, например, пропущена где то точка с запятой ;
Не могу ничего найти, скорее всего ошибка в коде, что написал ты. Но блин, 20 раз уже проверил. Видимо я слепой)
-
3 часа назад, Kitty сказал:
if(FileExists(path))
На этой строчке выходит ошибка [bccaarm Error] Unit1.cpp(31): expected unqualified-id
-
Всем привет. Учусь работать с ini-файлами на Android. И сразу же возникла проблема, которую никак не могу решить. Хотел написать подобие приложение-тест с хранением данных в ini файле. В итоге все отлично работает на windows,а под Андроид при запуске висит только значок firemonkey секунд 10 и приложение вырубается так и не запустившись. В чем может быть проблема? Использую отладку по USB.
TIniFile *Ini = new TIniFile(System::Ioutils::TPath::GetDocumentsPath() + PathDelim + "options.ini");
Юзаю эти библиотеки
#include <System.IOUtils.hpp> #include <System.IniFiles.hpp>
Программа не запускается под Android
в Отладка
Опубликовано
Спасибо за информацию (приму к сведению), но щас я хочу разобраться именно с ini. А именоо почему у меня не считываются данные с ini файла. )