
SVTX
Пользователи-
Постов
86 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Достижения SVTX
-
Забыл указать. Мерцание только на Андроиде. (разные версии от 10-й до 12-той)
-
SVTX подписался на Мерцание экрана на Form.Show/Form.Hide
-
Уважаемые эксперты, столкнулся с неприятным мерцанием форм на показе и деактивации после перехода на Александрию 11. Раньше такого не было. Сейчас создал пустой тестовый проект чтобы проверить. procedure TForm1.Button1Click(Sender: TObject); var AForm: TForm1; begin AForm := TForm1.Create(nil); AForm.Show; //мерцание тут OR AForm.ShowModal(procedure(ModalResult: TModalResult) //мерцание тут begin //AForm.Free; end); end; procedure TForm1.Button2Click(Sender: TObject); begin ModalResult := mrOk; //мерцание тут OR Hide; //мерцание тут Close; end; Формы пустые, пробовал разные заливки и что угодно. Оно мерцает и все! А на рабочем проекте просто показывается рабочий стол на полсекунды при любом показе/закрытии новой формы. Подскажите куда копать, не форумах не могу найти ничего.
-
Slym большая благодарность. Кажется в правильном направлении указали движение. Буду пробовать в работе.
- 14 ответов
-
- tthread
- forcequeue
-
(и ещё 1 )
C тегом:
-
Забывается если не используешь регулярно. Спасибо, уже получилось. Пробую.
- 14 ответов
-
- tthread
- forcequeue
-
(и ещё 1 )
C тегом:
-
не нашел этого метода у TForm FMX (( Вижу, она ушла в protected. Попробую выдернуть.
- 14 ответов
-
- tthread
- forcequeue
-
(и ещё 1 )
C тегом:
-
Я и так и так пробовал. Один корень. Поэтому пока решил что найду правильное решение и потом буду переводить на правильный код. FFrom.Release также генерит ошибку. Такое ощущение что чтото "держит" форму даже после завершения ForceQueue.
- 14 ответов
-
- tthread
- forcequeue
-
(и ещё 1 )
C тегом:
-
Чаще всего глобальная. Спасибо, сейчас буду пробовать!!
- 14 ответов
-
- tthread
- forcequeue
-
(и ещё 1 )
C тегом:
-
Я пробовал даже такой изврат, оно иногда работает, иногда нет, я так понимаю я упускаю чтото концептуальное и делаю неправильно. FFrom := TFrom.Create(nil); TThread.ForceQueue(nil, procedure begin FFrom.ShowModal(procedure(Res: TModalResult) begin //FreeForm(FFrom); //--> и тут получаем кучу ошибок - как правило на Form.Hide почемуто TThread.ForceQueue(nil, procedure begin FForm.Free; end, 100); end); end);
- 14 ответов
-
- tthread
- forcequeue
-
(и ещё 1 )
C тегом:
-
Slym спасибо что откликнулись На IOS а конкретно iPhone 12/13 изменилась архитектура и появился баг с ShowModal. Описано в тикете https://quality.embarcadero.com/browse/RSP-36095 И там описан обходной путь именно как я написал. Он работает, но если очищать форму все ломается. А если не чистить приложение падает через 20 новых созданных форм.
- 14 ответов
-
- tthread
- forcequeue
-
(и ещё 1 )
C тегом:
-
Такое было когда info.plist.TemplateiOS подтянулся из старого проекта. Взял info.plist.TemplateiOS из пустого проекта созданного на новой среде и проблема ушла.
-
Помогите разобраться с TThread.ForceQueue
SVTX опубликовал вопрос в Потоки и распределенные вычисления
Добрый день уважаемые эксперты. Помогите разобраться с функцией TThread.ForceQueue Пришлось внедрить ее как костыль в IOS для показа модальных форм, и получаем кучу ошибок на очистке памяти. Подскажите кто и как правильно ее использует в работе. Ниже рабочий код который гарантированно приведет к ошибке и у нас таких более 100 мест в проекте. FFrom := TFrom.Create(nil); TThread.ForceQueue(nil, procedure begin FFrom.ShowModal(procedure(Res: TModalResult) begin FreeForm(FFrom); //--> и тут получаем кучу ошибок - как правило на Form.Hide почемуто end); end);- 14 ответов
-
- tthread
- forcequeue
-
(и ещё 1 )
C тегом:
-
Уважаемый Kami очень прошу помощи. Внедрили в IOS костыль TThread.ForceQueue для ShowModal и получили кучу ошибок как Вы и пишете. Так как Вы явно понимаете суть работы, посмотрите что можно сделать и подскажите. Итак что мы делаем почти везде Надо создать динамически форму, сделать ей ShowModal (для этого используем в IOS TThread.ForceQueue) и освободить форму после завершения. Примерно так. FFrom := TFrom.Create(nil); TThread.ForceQueue(nil, procedure begin FFrom .ShowModal(procedure(Res: TModalResult) begin FreeForm(FFrom); //--> и тут получаем кучу ошибок - как правило на Form.Hide почемуто end); end); Подскажите как с этим борются правильно. Спасибо.
-
Вау. Спасибо, проверю утром.
- 2 ответа
-
- twebbrowser
- edge
-
(и ещё 1 )
C тегом:
-
Добрый день. На Windows 10 FMX.TWebBrowser не получается запустить в режиме Edge. (из Samples) Что сделано 1) Установлен сам Edge (устанавливал из репозитория Windows) 2) Скачаны dll и положены рядом с exe. 3) Внесены изменения в реестр в ветку FEATURE_BROWSER_EMULATION 4) Проверена работа VCL.TEdgeBrowser - все работает. 5) TWebBrowser в режиме edge не выдает никаких ошибок, просто пустое пространство на месте где должен быть браузен. Подскажите что делаю не так, чтото упускаю из виду. Либо как запустить VCL.TEdgeBrowser на FMX. Благодарю.
- 2 ответа
-
- twebbrowser
- edge
-
(и ещё 1 )
C тегом:
-
При запуске многолетнего работающего приложения на новой IOS 15 (IPhone 12/13) полетели все формы. Падает ShowModal форм. Была найдена причина - на IOS 15 используются асинхронные методы. Детально описано тут https://en.delphipraxis.net/topic/5762-showmodal-hangcrashes-on-ios-15-with-iphone-12-13/ Созданы тикет https://quality.embarcadero.com/browse/RSP-36095 Вопрос к нашим экспертам, возможно ктото уже нашел решение как обойти данный баг, прошу помощи и совета так как самого устройства с IOS 15 нет (брали на прокат чтобы поймать баг), а приложение уже ставят на новые девайсы и получают неприятное неработающее приложение.