Перейти к содержанию

Вопросы

У меня проблема с модальными формами VCL в Firemonkey проекте. Когда VCL форма вызвана ShowModal, и пользователь параллельно с панели задач вызывает другую программу, по возвращении к моей модалка падает под программу и поднять ее невозможно. Помогите может у кого было такое. Помогите пожалуйста

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Ответы на этот вопрос пока отсутствуют

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

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

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

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

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

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

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

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


  • Похожий контент

    • От ComAlex
      Господа Delphi-программисты под Android (FireMonkey),
      Нужна ваша помощь или совет в направления решения в несложной, достаточно типичной и прозрачной задаче:
      Я хочу выполнять некоторые вычисления (или выдавать Toastы) через каждые 30 сек. в Android-приложении.
      Что-то типа сервиса (службы): Приложение запускает задание и может закрываться, 
      но периодические вычисления продолжаются (результат сохраняется, допустим, в ini - не важно пока), т.е. служба работает.
      Я не знаю, как это решить:
      1. Организовал как сервис.
          Сервисы убиваются androidом ... И это политика androidов: экономить батарию и т.д.
      2. Сделал через AlarmManager.
          Тоже это не работает на MI 9T (Android 10: API 29). На старых (Android 4...: API 19) всё работает.
      3. Хотел использовать job scheduler: добавлять задания и удалять исполненные. Но не знаю как. ничего не нагуглил под Firemonkey. Может кто знает?
      Какие ещё варианты и вообще, это решается на Firemonkey Delphi XE 10.3.3?
      На поиск решения мною потрачено много время - сдвинуться не могу.
      Если Delphi это не умеет, так и скажите - перепрыгну на другую платформу.
          Может Delphi об этом думает, чтоб это скоро реализовать? В интернете тишина.
      Если Delphi это умеет, просьба дать идею или совет или пример ...
    • От krapotkin
      В процессе разработки столкнулся с очень странной ситуацией, корни которой до сих пор неясны, но решение нашлось.
      Итак. Делфи 10.3.3. Чистое приложение - пустая форма и кнопка. Отлично работает на разных устройствах кроме Samsung Galaxy Tab A (2016). Android 5.1.1
      Программа падает, не успев даже загрузиться. Любая. При этом она же, скомпилированная на другом компе, запускается нормально. И даже после изменения SDK/NDK на нем, ничего не падает.
      LogCat дает крайне странную картину
      java.lang.IllegalArgumentException: Unable to load native library: /data/app-lib/com.embarcadero.Project1-1/libProject1.so
      Начинаем экспериментировать с SDK, NDK и т.д. Поставил также хотфиксы для 10.3.3.
      Сразу скажу, SDK/NDK ставились отдельно через Android studio, не скачивались вместе с Delphi. Не торопитесь бросать чтение на этом месте!)) На другом компе, где все работает, все ставилось точно так же.
      Короче, очень много комбинаций версий SDK/NDK проверено.
      Результат такой. При постепенном понижении версии NDK все взлетело при NDK v22.

      При этом версия SDK видимо такого большого влияния не имеет, потому что этот вариант нормально работает

      Повторюсь. На других устройствах все работало и на более новых Ndk. Xiaomi Mi Pad4 , Samsung Galaxy Tab A (2019), Xiaomi Redmi 5 и 5Plus
       
      Спасибо за участие и помощь в разборе завалов @Andrey Efimov
       
    • От ComAlex
      Goоgle Play перестает поддерживать 32-bit Android-приложения c 01.08.2019.
      А выкладывать в Goоgle Play новые УЖЕ нельзя.
      Последние же Delphi XE не позволяют создать 64-bit Android-приложения.
      Кто знает, когда появится новая версия с поддержкой 64 - bit? Говорили, что в конце лета, но лето кончилось
    • От SIARHEI RAHOUSKI
      Как изменить сам Header, скролы ? Я открывал стайл блок, но всё что смог изменить там это цвет полей и всё.

    • От SIARHEI RAHOUSKI
      Как изменить цвет Label?  не работает
      Label1.Color := clBlue;  
    • От gresaggr
      Всем привет.
      Работаю с DCEF3 последней ветки (https://github.com/hgourvest/dcef3).  Использую Delphi 10.1
      Нужно сделать две одновременно запущенных web версии whatsapp (https://web.whatsapp.com/)
      Динамически создаются два экземпляра Chromium с разными именами, user agent.
      Сначала создается первый и в нем появляется QR-код для авторизации через телефон. 
      После создания второго - в первом QR код исчезает и появляется ТОЛЬКО во втором. 
      Я так понимаю проблема в куках.
      Может кто знает как можно задать отдельную папку/хранить в память для каждого экземпляра?
       
      Сейчас задаю таким образом глобальный куки менеджер:
       CookiesPath := ExtractFilePath(Application.ExeName) + DEFAULT_COOKIES_DIR + currentNumber.ToString;  CM := TCefCookieManagerRef.Global(nil);  CM.SetStoragePath(CookiesPath, true, nil);  
      P.S.  Если запускать копию exe из той же папки где находятся все ресурсы хромиума, то такой проблемы нет.
      P.P.S. Еще заметил, что авторизованная сессия whatsapp не сохраняется после перезапуска программы. А тот же mail.ru сохраняется.
    • От Error
      Ссылка: https://habrahabr.ru/post/318876/
      Автор: Error
      Описание:
      Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов.
      Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент.
      И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере.
      Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно.
      Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда!
      ...
    • От #WAMACO
      http://midaconverter.com
      Кто нибудь пользовался? Как оно?
      Судя по описанию, можно поизучать FireMonkey!
      Написал на VCL, даже приложения с базами данных, vcl-ми гридами, конвертнул и потом подсматриваешь код, как что реализовано, для новичков в FireMonkey думаю будет полезно!
    • От Pax Beach
      Прошу участников поделиться мнениями.
      При создании приложения только для Windows, как мне узнать, что лучше выбрать VCL или FMX?
      Повлияет ли мой выбор на дальнейшую жизнь приложения?
      Приложение для работы с локальной БД SQL Server и получения пакетов из интернета.
       
    • От ramir
      В модальном окне срабатывает Action по ShortCut- у другого окна
      Наткнулся на неожиданную проблему.
      В диалоговом окне по ShortCut срабатывает Action другой формы. Например, вызвал окно по ShowModal, случайно (или не очень) нажал Ctrl-O и на тебе - окно выбора файла из главного окна.
      Изучение метода TCommonCustomForm.KeyDown привело к такому коду
      ... // 5. perform key in all ActionLists in Childrens TraverseChildren(self); // 6. perform key in all main menus and ActionLists in other forms OtherForms(True); OtherForms(False); ... procedure OtherForms(IsMain: boolean); var I, J: integer; F: TCommonCustomForm; begin if Done then Exit; for I := 0 to Screen.FormCount - 1 do if (Screen.Forms[I] <> self) and (Screen.Forms[I].Visible) and (IsMain xor (Screen.Forms[I] <> Application.MainForm)) then begin F := Screen.Forms[I]; for J := F.ChildrenCount - 1 downto 0 do begin if F.Children[J] is TMainMenu then TMainMenu(F.Children[J]).DialogKey(Key, Shift); if Key = 0 then begin Done := True; Exit; end; end; TraverseChildren(F); if Done then Exit; end; end; т.е. если ShortCut в активном оокне не отработал ищется по всем другим формам.
      Не знаю, для чего это нужно, но в модальном окне такое поведение вызывает мягко говоря недоумение.
      Решить проблему напрямую простыми способами пока не получилось, пока пришлось дизайблить все ActionList-ы перед вызовом диалога.
      Может всетаки есть какой то нормальный споcоб обойти проблему?
      PS. В Berline похоже такаяже хрень.
  • Последние посетители   0 пользователей онлайн

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

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