Перейти к содержанию
Fire Monkey от А до Я
  • 0

файл не находится


chaplin.u@gmail.com

Вопрос

что-то никак не получается открыть файл по инструкции .

добавляю в деплоймент менеджере файл в .\ 

в программе использую System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), FileName)

а файл не находится. причём в андроиде всё путем. может что-то  у них поменялось ?

Ссылка на комментарий
  • Ответы 59
  • Создана
  • Последний ответ

Лучшие авторы в вопросе

Рекомендуемые сообщения

  • 0

почему Бровин говорит что " если файл нужен только на чтение, то пути менять не надо " а абракадабра говорит что нужно класть в  StartUp\Documents ?

Но у меня неберёт нигде ! 

Ссылка на комментарий
  • 0

В iOS нужно писать StartUp\Documents.

В Android assets\internal. 

Посмотрите, что  у вас представляет собой filename. Судя по вашему коду должно быть имя файла плюс расширение.

Изменено пользователем Alex7wrt
Ссылка на комментарий
  • 0

да так написано и на Андроиде работает без проблем. А на   iOS32 нивкакую :(

причём все файлы апликации ( включая иконки) посылаются в .\  и они показываются без проблем. картинки они говорят класть StartUp\Documents и они не открываются.

Перепробовал все варианты .  Имя файла конечно указываю полное "pic.png"    

Ссылка на комментарий
  • 0

как я могу забыть если я уже двадцать версий перепробовал. и .\  и  ./  и  StartUp\Documents и  StartUp\Documents\ ....

 

и файл записывал "pic.png"  и  L"pic.png". Кстати что этот L даёт ?

 

 

Ссылка на комментарий
  • 0

1. вот деплой :i2.JPG

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. а в результате

-i1.JPG

проверил уже на последней версии АйОси - 10.2

 

Ссылка на комментарий
  • 0

Добавьте проверку на наличие файла. Ваш код выдает ошибку, но вы не знаете причину ошибки - отсутствие файла или ошибка в процессе 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');

 

Ссылка на комментарий
  • 0

хороший совет. добавлю но это не исправит положение т.к понятно что он его не находит а в этой АйОси нет никакого файл менеджера чтобы посмотреть что куда идёт.

На Андроиде этот код работает на ура.

Ссылка на комментарий
  • 0

а можно попросить у кого деплоится добавить такую строчку в код :

ShowMessage("FullPath="+System::Ioutils::TPath::GetFullPath(FileName));

типа посмотреть куда это идёт когда работает правильно.

 

Ссылка на комментарий
  • 0

ну так вставьте строчку которая скажет где у вас лежит файл. тогда я смогу сравнить. есть версия что у меня в настройках не то место указано и получается не синхрон. ваш проект я не могу запустить на моём бильдере. 

и повторю вопрос - где этот StartUp настраивается и кем ?

Ссылка на комментарий
  • 0
Цитата

хороший совет. добавлю но это не исправит положение т.к понятно что он его не находит

Рекомендацию Евгения Корепова выполнили? Проверили?

У меня С++ Builder и все работает на iOS:

String path = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), L"count.ini");
 if(FileExists(path))
	 {
      //нужный код
	 }

count.ini в деплойменте тут StartUp\Documents\

Ссылка на комментарий
  • 0

какой добрый форум. прямо от ответов обоя нет. все кинулись помогать... 

если бы не парень в гавайской рубашке так и ждал бы до такой же бороды

ну хоть так узнал в чём затык. это путь где аппликация ищет файл у меня :

 i1.JPG

а это у парня :

iosscreencapture_10042-200x300.jpg

сразу видно что это не тоже самое. а теперь вопрос к добрым людям - где это настраивается ?

 

 

Ссылка на комментарий
  • 0
  • Модераторы
11 минут назад, Камышев Александр сказал:

путь для deploiment .\assets\internal\

ему необходимо для IOS

42 минуты назад, chaplin.u@gmail.com сказал:

а теперь вопрос к добрым людям - где это настраивается ?

это не настраивается, т.к. выбора куда ложить свои файлы нету. система не разрешит положить в "левую" папку

Ссылка на комментарий
  • 0
  • Администраторы
В 14.03.2017 в 00:21, chaplin.u@gmail.com сказал:

1. вот деплой :i2.JPG

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. а в результате

-i1.JPG

проверил уже на последней версии АйОси - 10.2

 

Попробуйте StartUp

Ссылка на комментарий
  • 0
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>

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...