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

Andrey Yakovlev

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

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

  • Посещение

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

    2

Активность репутации

  1. Like
    Andrey Yakovlev отреагировална vasilius в Кнопка с выпадающим меню   
    Здравствуйте
    Спасибо. Это решение имеет право на жизнь , хоть и не очевидное (само решение)
    остановился на таком варианте, по данному предложенному варианту:
      TPointF pos = TPointF(0, btnBackup->Height + 1);
      pos = btnBackup->LocalToAbsolute(pos);
      pos = Screen->ActiveForm->ClientToScreen(pos);
      pmenBackup->Popup(pos.X, pos.Y);
     
    Если есть еще варианты - был бы рад 
     
    Спасибо
  2. Like
    Andrey Yakovlev получил реакцию от Barbanel в Работа с файлами в macOS   
    Добрый день. А вы не пробовали указывать не только имя файла, но и путь к нему? Я недавно с FM познакомился, не самый большой специалист по Маку ), но я бы не полагался на указание файла без каталога. У меня сделано так, например:
    function GetAppPath(): string;
    begin
        Result := TPath.GetDirectoryName(ParamStr(0));
    end;
     
    function MakeSettingsFileName(aInsideApp: boolean): string;
    var
        lFileName: string;
    begin
        lFileName := TPath.GetFileNameWithoutExtension(ParamStr(0)) + '.ini';
        if (aInsideApp) then
            Result := GetAppPath()
        else
            Result := TPath.GetDocumentsPath();
        Result := TPath.Combine(Result, lFileName);
    end;
    Смысл такой: поскольку приложение в macOS распространяется через dmg-пакет, я включаю конфигурационный файл внутрь Program.app, как раз в папку Contents/MacOS/, чтобы программе было с чем запуститься в первый раз (всяческие настройки соединения с сервером, БД, ну вы понимаете). В самой программе, я сначала делаю проверку наличия конфигурационного файла, сформировав путь до него вызовом функции MakeSettingsFileName(false). В этом случае, конф. файл ищется в каталоге Документы. Это, на самом деле, не так и важно, где он может лежать снаружи, идея тут в том, что в процессе работы конф. файл меняется и при выходе из программы всегда сохраняется снаружи, чтобы иметь возможность пользоваться им после замены dmg-пакета и инсталляции новой версии программы, которая опять будет содержать внутри себя "пустой" конф. файл. Если файл снаружи не нашелся, формируем повторным вызовом MakeSettingsFileName(true) путь к нему "внутри". Надеюсь, что понятно объяснил.
  3. Like
    Andrey Yakovlev получил реакцию от Barbanel в Запуск приложения в iOS Simulator   
    Дополнение. Забегая вперед, скажу, что все заработало, но хотелось бы подтвердить или опровергнуть свои догадки. Ноутбук, на котором изначально все работало, имеет High Sierra в качестве ОС. Это последняя яблочная ось, которая без вопросов переваривает 32-битные приложения. МакПро, на который все переносилось и проблемы которого здесь описывались, имеет уже последнюю Mojave. Вчера взял третий чистый МакБук Про (описание выглядит, как будто тут склад продукции Аппл :)), который по случаю также все еще имел High Sierra, поставил xCode 9.4.1 и 9.2 (его выбрал в качестве Command Line Tools), создал пустой проект, подключил к нему имеющийся developer-акк, поставил PAServer20 и в Delphi Rio стала нормально появляться информация в закладке Provisioning. Как следствие, и приложение нормально долетело до телефона.
    Вопрос в следующем: у кого-нибудь есть успешный опыт эксплуатации такой цепочки в ОС Mojave 64 бит? В этом проблема у нас была и нужно ждать PAServer 64? Просто догадки, ибо никакого другого объяснения случившемуся у меня нет, все выглядит, как удачное стечение обстоятельств.
    Всем спасибо за ответы.
  4. Confused
    Andrey Yakovlev получил реакцию от Barbanel в Запуск приложения в iOS Simulator   
    Barbanel, видел описание вашего опыта в другой ветке форума. Я уже:
    - зашел в iCloud под AppleID, который мы завели для developer-аккаунта
    - удалил все сертификаты из связки ключей, которые хотя бы как-то указывали на другие мои аккаунты и импортировал в xCode - Pref - Accounts тот самый, который у нас developer
    - сходил в developer.apple.com и завел там сначала AppID, а затем provisioning profile, для которого явно указал свой iPhone
    - загрузил и импортировал этот profile в xCode, точно вижу, что он про мой телефон знает
    - переключил PAServer в verbose режим и вижу, что он пытается сканировать имеющиеся сертификаты и видит даже больше, чем один и все они, так или иначе, имеют отношение к нашему developer-аккаунту
    - открыл тестовое приложение в Delphi Rio (и ее уже поставил, хоть это и долго), прописал правильно bundle identifier в VersionInfo
    и... все равно, Provisioning упорно ничего не видит.
    Извиняюсь за излишне подробное описание. У нас есть первый ноут, на котором приобретался сертификат и там все работает. Но я не понимаю, в чем разница, если сам сертификат прошел процедуру импорта/экспорта, из Иксов все на телефон встает как надо. Тупик, который все больше склоняет к написанию софта прямо в xCode, чего не сильно хотелось бы, так как есть еще потребность в Андройде.
  5. Like
    Andrey Yakovlev получил реакцию от MrAnderson в Запуск приложения в iOS Simulator   
    Здравствуйте. Такая проблема:
    В наличии есть Windows 10 с RAD Studio 10.2.3 Tokio и RAD Studio 10.3 Rio (на выбор), MAC с установленными xCode 9.2, 9.4, 10.0 и 10.1, PAServer 19/20
    При попытке запустить тестовое приложение из Delphi в iOS Simulator 11.2 сам симулятор на MAC как-будто бы запускается, Delphi через некоторое время рапортует о том, что "все запущено - сходи на свой MAC и посмотри на результат", но по факту ничего не происходит. Приложение не появляется в симуляторе. Более того, симулятор после своего запуска не показывает окно с телефоном выбранной модели. Пробовал уже кажется все мыслимые сочетания Delphi, PAServer, CommandLineTools и т.п. Ничего не помогает.
    Кто-нибудь может помочь разобраться? Какая дополнительная информация нужна для анализа ситуации? Готов предоставить.
    Спасибо.
×
×
  • Создать...