chaplin.u@gmail.com Опубликовано 7 марта, 2017 Поделиться Опубликовано 7 марта, 2017 что-то никак не получается открыть файл по инструкции . добавляю в деплоймент менеджере файл в .\ в программе использую System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), FileName) а файл не находится. причём в андроиде всё путем. может что-то у них поменялось ? Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 12 марта, 2017 Автор Поделиться Опубликовано 12 марта, 2017 почему Бровин говорит что " если файл нужен только на чтение, то пути менять не надо " а абракадабра говорит что нужно класть в StartUp\Documents ? Но у меня неберёт нигде ! Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 13 марта, 2017 Поделиться Опубликовано 13 марта, 2017 (изменено) В iOS нужно писать StartUp\Documents. В Android assets\internal. Посмотрите, что у вас представляет собой filename. Судя по вашему коду должно быть имя файла плюс расширение. Изменено 13 марта, 2017 пользователем Alex7wrt Равиль Зарипов (ZuBy) и Kitty 2 Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 13 марта, 2017 Автор Поделиться Опубликовано 13 марта, 2017 да так написано и на Андроиде работает без проблем. А на iOS32 нивкакую причём все файлы апликации ( включая иконки) посылаются в .\ и они показываются без проблем. картинки они говорят класть StartUp\Documents и они не открываются. Перепробовал все варианты . Имя файла конечно указываю полное "pic.png" Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 13 марта, 2017 Модераторы Поделиться Опубликовано 13 марта, 2017 проверьте деплой в билд-конфигах (Debug/Release), возможно забыли добавить. Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 13 марта, 2017 Автор Поделиться Опубликовано 13 марта, 2017 как я могу забыть если я уже двадцать версий перепробовал. и .\ и ./ и StartUp\Documents и StartUp\Documents\ .... и файл записывал "pic.png" и L"pic.png". Кстати что этот L даёт ? Цитата Ссылка на комментарий
0 Rusland Опубликовано 13 марта, 2017 Поделиться Опубликовано 13 марта, 2017 1 час назад, chaplin.u@gmail.com сказал: и файл записывал "pic.png" и L"pic.png". Кстати что этот L даёт ? Может так? u"pic.png" Цитата Ссылка на комментарий
0 Kitty Опубликовано 13 марта, 2017 Поделиться Опубликовано 13 марта, 2017 Цитата Кстати что этот L даёт ? Enabling C++ Applications for Unicode Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 13 марта, 2017 Автор Поделиться Опубликовано 13 марта, 2017 и как мне написать FileName чтобы запустить System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), FileName) ? Цитата Ссылка на комментарий
0 Kitty Опубликовано 13 марта, 2017 Поделиться Опубликовано 13 марта, 2017 Покажите код где присваиваеться FileName. Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 13 марта, 2017 Автор Поделиться Опубликовано 13 марта, 2017 1. вот деплой : 2. вот код а - Result = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), L"Image_640x960.png"); Image2->Bitmap->LoadFromFile(Result); в - Result = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), "Image_640x960.png"); Image2->Bitmap->LoadFromFile(Result); 3. а в результате - проверил уже на последней версии АйОси - 10.2 Цитата Ссылка на комментарий
0 Евгений Корепов Опубликовано 14 марта, 2017 Поделиться Опубликовано 14 марта, 2017 Добавьте проверку на наличие файла. Ваш код выдает ошибку, но вы не знаете причину ошибки - отсутствие файла или ошибка в процессе LoadFromFile AFilePath:=System.IOutils.TPath.Combine(System.IOutils.TPath.GetDocumentsPath, 'Image_640x960.png'); if TFile.Exists(AFilePath) then Image2.Bitmap.LoadFromFile(AFilePath) else ShowMessage('File not found'); chaplin.u@gmail.com и Kitty 2 Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 14 марта, 2017 Автор Поделиться Опубликовано 14 марта, 2017 хороший совет. добавлю но это не исправит положение т.к понятно что он его не находит а в этой АйОси нет никакого файл менеджера чтобы посмотреть что куда идёт. На Андроиде этот код работает на ура. Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 14 марта, 2017 Автор Поделиться Опубликовано 14 марта, 2017 а можно попросить у кого деплоится добавить такую строчку в код : ShowMessage("FullPath="+System::Ioutils::TPath::GetFullPath(FileName)); типа посмотреть куда это идёт когда работает правильно. Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 16 марта, 2017 Автор Поделиться Опубликовано 16 марта, 2017 как я вижу никто на iOS не деплоит ну тогда хоть скажите где настраивается переменная "StartUp" ? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 16 марта, 2017 Модераторы Поделиться Опубликовано 16 марта, 2017 Все используют деплой, вот попробуйте этот проект запустить у себя Kitty 1 Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 16 марта, 2017 Автор Поделиться Опубликовано 16 марта, 2017 ну так вставьте строчку которая скажет где у вас лежит файл. тогда я смогу сравнить. есть версия что у меня в настройках не то место указано и получается не синхрон. ваш проект я не могу запустить на моём бильдере. и повторю вопрос - где этот StartUp настраивается и кем ? Цитата Ссылка на комментарий
0 Kitty Опубликовано 16 марта, 2017 Поделиться Опубликовано 16 марта, 2017 Цитата хороший совет. добавлю но это не исправит положение т.к понятно что он его не находит Рекомендацию Евгения Корепова выполнили? Проверили? У меня С++ Builder и все работает на iOS: String path = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), L"count.ini"); if(FileExists(path)) { //нужный код } count.ini в деплойменте тут StartUp\Documents\ Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 16 марта, 2017 Автор Поделиться Опубликовано 16 марта, 2017 добавил, проверил. файла на месте нет. у меня всё тоже. и код и путь. можете вставить строчку описанную выше ? Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 21 марта, 2017 Автор Поделиться Опубликовано 21 марта, 2017 какой добрый форум. прямо от ответов обоя нет. все кинулись помогать... если бы не парень в гавайской рубашке так и ждал бы до такой же бороды ну хоть так узнал в чём затык. это путь где аппликация ищет файл у меня : а это у парня : сразу видно что это не тоже самое. а теперь вопрос к добрым людям - где это настраивается ? Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 21 марта, 2017 Модераторы Поделиться Опубликовано 21 марта, 2017 11 минут назад, Камышев Александр сказал: путь для deploiment .\assets\internal\ ему необходимо для IOS 42 минуты назад, chaplin.u@gmail.com сказал: а теперь вопрос к добрым людям - где это настраивается ? это не настраивается, т.к. выбора куда ложить свои файлы нету. система не разрешит положить в "левую" папку Kitty 1 Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 21 марта, 2017 Администраторы Поделиться Опубликовано 21 марта, 2017 В 14.03.2017 в 00:21, chaplin.u@gmail.com сказал: 1. вот деплой : 2. вот код а - Result = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), L"Image_640x960.png"); Image2->Bitmap->LoadFromFile(Result); в - Result = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), "Image_640x960.png"); Image2->Bitmap->LoadFromFile(Result); 3. а в результате - проверил уже на последней версии АйОси - 10.2 Попробуйте StartUp Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 21 марта, 2017 Администраторы Поделиться Опубликовано 21 марта, 2017 А еще рекомендую ознакомиться с этой справкой: Standard RTL Path Functions across the Supported Target Platforms Kitty 1 Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 21 марта, 2017 Автор Поделиться Опубликовано 21 марта, 2017 так вот же в справке написано тоже что и у дядьки : A typical result is: Device: '/var/mobile/Applications/<application ID>/Documents' Какого лешего у меня Containers... влезает ! Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 21 марта, 2017 Администраторы Поделиться Опубликовано 21 марта, 2017 Прикрепите проект. Укажите версию iOS, на которой тестируете. Цитата Ссылка на комментарий
0 enatechno Опубликовано 21 марта, 2017 Поделиться Опубликовано 21 марта, 2017 3 часа назад, chaplin.u@gmail.com сказал: Какого лешего у меня Containers... влезает 5 часов назад, chaplin.u@gmail.com сказал: сразу видно что это не тоже самое. а теперь вопрос к добрым людям - где это настраивается ? путь для IOS7 и более ранних: /var/mobile/Applications/<application ID> путь для IOS8 и выше /var/mobile/Containers/Data/Application/<application ID> Kitty 1 Цитата Ссылка на комментарий
Вопрос
chaplin.u@gmail.com
что-то никак не получается открыть файл по инструкции .
добавляю в деплоймент менеджере файл в .\
в программе использую System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), FileName)
а файл не находится. причём в андроиде всё путем. может что-то у них поменялось ?
Ссылка на комментарий
Лучшие авторы в вопросе
3
8
4
33
Популярные дни
21 март
10
13 март
9
20 апр
8
19 апр
6
Лучшие авторы в вопросе
Равиль Зарипов (ZuBy) 3 постов
Vitaldj 8 постов
enatechno 4 постов
chaplin.u@gmail.com 33 постов
Популярные дни
21 март 2017
10 постов
13 март 2017
9 постов
20 апр 2017
8 постов
19 апр 2017
6 постов
Популярные посты
chaplin.u@gmail.com
после долгих мучений нашёл проблему. баг в деплойменте. файл не деплоится если в имени файла есть символ подчёркивания _ ! почему я не проверил сразу т.к. почти все файлы аппликации содержат этот
Alex7wrt
В iOS нужно писать StartUp\Documents. В Android assets\internal. Посмотрите, что у вас представляет собой filename. Судя по вашему коду должно быть имя файла плюс расширение.
Евгений Корепов
Добавьте проверку на наличие файла. Ваш код выдает ошибку, но вы не знаете причину ошибки - отсутствие файла или ошибка в процессе LoadFromFile AFilePath:=System.IOutils.TPath.Combine(System.IOu
Изображения в теме
59 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.