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

Kitty

Пользователи
  • Постов

    792
  • Зарегистрирован

  • Посещение

  • Победитель дней

    16

Весь контент Kitty

  1. Открываю пример: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\CPP\Mobile Snippets\AccessCameraApp Компилирую и получаю на 5-ом айфоне приложение. Нажимаю кнопку и приложение падает. В приложении одна строчка кода: void __fastcall TAccessCameraAppForm::TakePhotoFromCameraAction1DidFinishTaking (TBitmap *Image) { /* Assign the image retrieved from the Camera to the TImage component. */ imgCameraImage->Bitmap->Assign(Image); } Вопрос: можно ли создавать простейшие приложения для iOS в С++ Builder Berlin или все это маркетинговый код и студия С++ бесполезна и я зря трачу время? Если простейшие приложения для iOS можно создавать на С++ Builder Berlin то куда посоветуете копать в данном случае для стандартного примера, чтобы избежать падения приложения? Спасибо.
  2. В дебаге, окно Run закрывается и затем открывается и так по кругу, а на устройстве приложение запускается и закрывается и так по кругу. Вот так это выглядит: https://yadi.sk/i/9Uxr8gXHwBgyi Без дебага трудно понять почему приложение падает на строке кода: Image1->Bitmap->Assign(Image);
  3. Дополнительно найдено: #if defined(__ANDROID__) #include <Androidapi.JNI.JavaTypes.hpp> #include <Androidapi.JNI.GraphicsContentViewText.hpp> #include <Androidapi.JNI.Net.hpp> #include <Androidapi.Helpers.hpp> #include <FMX.Helpers.Android.hpp> #elif defined(__APPLE__) #include <iOSapi.Foundation.hpp> #include <Macapi.Helpers.hpp> #include <FMX.Helpers.iOS.hpp> #elif defined(MSWINDOWS) #include <shellapi.h> endif bool __fastcall OpenURL(const String &AURL) { #if defined(__ANDROID__) _di_JIntent Intent = TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW, TJnet_Uri::JavaClass->parse(StringToJString(AURL))); try { SharedActivity()->startActivity(Intent); return true; } catch (const Exception &) { return false; } #elif defined(__APPLE__) _di_NSURL NSU = StrToNSUrl(AURL); if (SharedApplication()->canOpenURL(NSU)) return SharedApplication()->openURL(NSU); else return false; #elif defined(MSWINDOWS) SHELLEXECUTEINFOW sei = {0}; sei.cbSize = sizeof(sei); sei.lpFile = AURL.c_str(); sei.nShow = SH_SHOWNORMAL; return ShellExecuteEx(&sei); #else return false; #endif } void __fastcall TForm1::Text1Click(TObject *Sender) { OpenURL(L"http://fire-monkey.tu"); }
  4. Подскажите, пожалуйста, а почему под дебагом в iOS может происходит бесконечный перезапуск приложения? Пустое приложение стартует, показывается, закрывается и так до бесконечности. А в IDE постоянный лаунчинг...
  5. И все таки не до конца понятно как переделать интерфейс. Для андроида где все просто и понятно так: Пользователь запустил приложение и получил уведомление с акцией. Пользователь может перейти по акции, закрыть уведомление, проигнорировать его. При входе в зону TBeacon пользователь получает дополнительное уведомление с дополнительной акцией. Если пользователь проигнорировал оба уведомления они висят в шторке и он в любой момент может к ним вернуться (удалить, перейти, продолжать игнорировать). Для iOS, поскольку оно не способно показывать уведомления при запущенном приложении: Сделала отдельное диалоговое окно. При старте программы показывается это окно с акцией. Теперь допустим пользователь не перешел в нем по акции и не закрыл его, и входит в зону TBeacon, надо ему показать дополнительную уточняющую акцию и при этом сохранить первую, которая висит в диалоговом окне при старте и которую пользователь пока не обработал - или перешел к акции или закрыл диалоговое окно. Как правильно организовать вывод этой информации в интерфейсе IOS? Два диалоговых окна это же уродливо... Подскажите, как правильно? Спасибо.
  6. Я тоже так делаю в catch (const Exception &E): String MES = E.ClassName() + " " + E.Message; но приложение просто вываливается без всяких сообщений. Ярослав пишет про StackTrace, а что это такое в документации не нашла.
  7. Научите как пользоваться StackTrace? Так не компилируется. void __fastcall TFormCamera::TakePhotoFromCameraAction1DidFinishTaking(TBitmap *Image) { try { Image1->Bitmap->Assign(Image); } catch (const Exception &E) { String MES = E.StackTrace; ShowMessage(MES); } } [bcciosarm Error] UnitCamera.cpp(28): member function 'GetStackTrace' not viable: 'this' argument has type 'const System::Sysutils::Exception', but function is not marked const System.SysUtils.hpp(524): 'GetStackTrace' declared here
  8. Может кто знает как сию конструкцию транслировать в С++. Не могу найти в докивики ничего полезного...
  9. У меня одно уведомление отображается при старте программы, остальные уведомления появляются в зависимости входит пользователь в зону TBeacon или выходит. Уведомления в шторке андроида очень удобны. Приложение общается с пользователем уведомлениями. Пользователь может отклонить уведомление, может нажать на него и получить нужную логику. Когда приложение активно в iOS ничего не показывается. Один раз при старте программы в iOS показалось и теперь уже никак. Получается для iOS надо создавать отдельную форму с диалогом и звуковым сопровождением...
  10. Подскажите, пожалуйста, для открытия галереи c фотографиями надо также сделать доп. шаги не описанные в документации? Например код ниже также приводит к краху приложения iOS. void __fastcall TFormCamera::TakePhotoFromLibraryAction1DidFinishTaking(TBitmap *Image) { Image1->Bitmap->Assign(Image); }
  11. Тогда подскажите, как лучше сделать? Для андроида в проекте так: приложение запущено, пользователь входит в зону действия компонента TBeacon и получает в шторку звуковое стандартное уведомление. Пользователь может нажать на уведомление и перейти по ссылке или просто закрыть уведомление. Просто и удобно. Если iOS не поддерживает такой стиль взаимодействия с пользователем, то с точки зрения правильного интерфейса для iOS, подскажите, пожалуйста, как лучше сделать взаимодействие с пользователем по аналогии с проектом андроида?
  12. Есть тестовый Project1. iOs у меня 2й день в руках. Согласно https://support.apple.com/ru-ru/HT203033 приложение должно запросить само доступ к камере. На девайсе я нашла 2 места где оно может быть. Прилагаю скриншоты. Я не знаю что сделать... Приложение падает.
  13. Я что-то не могу найти, а где это? В проекте iOS пункт вообще Uses Permision пустой.
  14. Я вижу ShowMessage(L"Проверка"); значит все ОК. Каким-то странным образом один раз был нотификейшен. Добиться увидеть повторно не удается. Может что-то на устройстве iOS надо настроить?
  15. Пустое приложение. Код из документации. Попытка получить фото с камеры: void __fastcall TForm1::TakePhotoFromCameraAction1DidFinishTaking(TBitmap *Image) { Image1->Bitmap->Assign(Image); } При нажатии на кнопку приложение вылетает. Кому нибудь удавалось получить фото в С++ Builder Берлин в iOS? Спасибо.
  16. Я не понимаю, что это за тип такой: NSURL, в смысле как его объявить? NSURL Url; [bcciosarm Error] UnitBigburger.cpp(29): variable type 'Iosapi::Foundation::NSURL' is an abstract class
  17. Не могу понять как работают уведомления в iOS. Код из документации: void __fastcall TForm1::Button3Click(TObject *Sender) { if (NotificationCenter1->Supported()) { TNotification *myNotification = NotificationCenter1->CreateNotification(); __try { myNotification->Number = 18; myNotification->AlertBody = L"C++ for your mobile device is here! Привет."; NotificationCenter1->PresentNotification(myNotification); ShowMessage(L"Проверка");//<--- вижу сообщение } __finally { myNotification->DisposeOf(); } } } А в шторке пусто...
  18. Приложение запустилось. Для iOS, в отличии от андроид оказалось, что надо добавить дополнительно свойство (TBeaconRegionCollection).
  19. А как в iOS открыть ссылку стандартными средствами без FGX? Спасибо.
  20. 1. На форме компонент TBecon и одна строчка кода в конструкторе формы: __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Beacon1->Enabled = true; } При запуске приложения возникает окно с предложением включить геолокацию, в котором не успеваешь нажать и тут же приложение вываливается. 2. Пробую другой код: void __fastcall TForm1::Button1Click(TObject *Sender) { ShowMessage(L"Включаем"); Beacon1->Enabled = true; } Получаю ошибку на картинке. На андроиде все нормально. RAD Берлин апдейт 1. Как быть? Спасибо.
  21. Хочу открыть ссылку при щелчке на метку. На форуме нашла код: uses FMX.Helpers.iOS, iOSapi.Foundation function OpenURL(const AUrl: string): Boolean; var Url: NSURL; begin Url := TNSUrl.Wrap(TNSUrl.OCClass.URLWithString(NSStr(AUrl))); Result := SharedApplication.openUrl(Url); end; А на С++ не получается: #include <FMX.Helpers.iOS.hpp> #include <iOSapi.Foundation.hpp> void __fastcall TForm1::Text1Click(TObject *Sender) { NSURL Url;//<- как тут правильно? //*** /* для андроида _di_JIntent Intent; Intent = TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW); Intent->setDataAndType(StrToJURI(L"http://bigburger.cv.ua/index.php"), StringToJString(L"text/html")); SharedActivity()->startActivity(Intent); */ } [bcciosarm Error] UnitBigburger.cpp(29): variable type 'Iosapi::Foundation::NSURL' is an abstract class
  22. Подскажите, пожалуйста, почему вы выбрали не рекомендованную ембаркадеро dbExpress? Они рекомендуют FireDAC из палитры компонентов.
  23. Kitty

    Failed to load libssl.so

    А как еще можно организовать отправку письма если это galaxy tab, если инди с этим не справляется?
×
×
  • Создать...