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

Ллирик

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

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

  • Посещение

Весь контент Ллирик

  1. Мне бы хотелось в VCL использовать компонент TLayout. Как его подключить через install component? Я никогда раньше не подключал компоненты, поэтому хотелось бы подробную инструкцию)
  2. Спасибо. Наоборот надо отключить все libnative-activity.co, но я вроде уже отключал...
  3. При сборке Application Store эмулятор Nox выдаёт , а при сборке Development приложение работает нормально. Так и должно быть или......?
  4. Ллирик

    Эффект нажатия

    Подскажите, пожалуйста, как сделать эффект нажатия кнопки? Пробовал поиграться с TFloatAnimation.Property.Scale, но уменьшение масштаба идёт не к центру, а к левому верхнему углу и никакие выравнивания по центру не помогают. То есть какую анимацию из TAnimatiom надо применить к Buttonstyle в StyleBook, чтобы получить эффект уменьшения изображения к центру? Сделал 4 анимации TFloatAnimation. Две на Padding и по одной на ширину и высоту, но анимация почему-то срабатывает с задержкой, хотя delay и duration поставлены на 0
  5. Так Generics.Collections у меня тоже подключен, только всё-равно выдаёт
  6. Если Вы имеете ввиду Generics.Collections, то там в rad studio 10 seattle почему-то нет TObjectList
  7. Работаю с TObjectList. Для винды компилируется без проблем, а для андроида выдаёт Почему?
  8. Проблему решил создав диалог не на классе TForm, а на классе TPanel.
  9. Да, действительно код не останавливается. Но четыре месяца назад я писал приложение в билдере, в котором при вызове ShowMessage выполнение кода останавливалось и мой друг может это подтвердить) В общем чудеса какие-то.....) Так мне не нужно, чтобы форма сама закрывалась
  10. Так это просто пример) В моем приложении таймер устанавливается на 30 секунд и срабатывает отдельно от других диалогов, если пользователь не успел правильно ответить на вопрос
  11. Если в Вашем примере добавить вызов TMyMsgDlg.Create по таймеру, например так procedure TFormMain.Button3Click(Sender: TObject); var mY: TMyMsgDlg; begin mY := TMyMsgDlg.Create('Вывести сообщение по закрытию окна?', self, procedure begin ShowMessage('Сообщение по закрытию окна'); end, false); mY.ShowMe; timerr := 10; Timer1.Enabled := true; end; procedure TFormMain.Timer1Timer(Sender: TObject); var mY: TMyMsgDlg; begin Timerr := Timerr -1; if Timerr = 0 then begin Timer1.Enabled := false; mY := TMyMsgDlg.Create('Таймер сработал!!!! Вывести сообщение по закрытию окна?', self, procedure begin ShowMessage('Сообщение по закрытию окна'); end, false); mY.ShowMe; end; end; , то на андроиде будет точно такой же глюк, как у меня, то есть если на экране сообщение 'Вывести сообщение по закрытию окна?', то сообщение 'Таймер сработал!!!! Вывести сообщение по закрытию окна?' на экране не появится
  12. Глюк появляется, когда у модальной формы включён Transparency
  13. Если тут была бы ошибка, то компилятор просто бы не скомпилировал программу) Так что тут никакой ошибки нет))
  14. А как я тогда узнаю, что произошло нажатие кнопки ОК? В винде всё работает, проблема только на андроиде
  15. Не понял, а я как тогда сделал? Чем Ваш код отличается от моего? И у меня главный вопрос всё таки второй. Он вообще никак не связан с первым
  16. Вопрос 1. Как закрыть приложение из модального окна на андроиде? Делаю так: procedure ExitQwery(MainSelf: TForm); var FormExitQwery: TFormExitQwery; begin Application.CreateForm(TFormExitQwery, FormExitQwery); FormExitQwery.BringToFront; FormExitQwery.StyleBook := MainSelf.StyleBook; FormExitQwery.Label1.Width := 1; FormExitQwery.ShowModal( procedure(Result: TModalResult) begin if Result = mrOk then begin FormExitQwery.Free; MainSelf.Close; MainSelf.Free; Application.Terminate; end else if Result = mrCancel then begin FormExitQwery.CloseModal; FormExitQwery.Free; end; end); end; procedure TFormExitQwery.Close(Sender: TObject; var Action: TCloseAction); begin Action := TCloseAction.caFree; end; end. , но приложение не закрывается. Вопрос 2. По нажатию на TImage и по таймеру создаются два модальных окна procedure ShowMessageModal(Self: TForm; const AMessage: string; ADefProc: TProc); var locMessageForm: TMessageForm; begin Application.CreateForm(TMessageForm, locMessageForm); locMessageForm.BringToFront; // locMessageForm.ModalResult := mrOk; locMessageForm.CurWidth := false; locMessageForm.SelfWidth := Self.Width; locMessageForm.StyleBook := Self.StyleBook; // locMessageForm.Parent := Self; locMessageForm.MessText.BeginUpdate; locMessageForm.MessText.Text := AMessage; locMessageForm.MessText.EndUpdate; locMessageForm.ButtonHeight := Round(locMessageForm.Buttton.Height); locMessageForm.ButtonWidth := Round(locMessageForm.Buttton.Width) + 24; locMessageForm.MessText.Width := 1; locMessageForm.Buttton.ModalResult := mrOk; locMessageForm.showModal( procedure(Result: TModalResult) begin if Result = mrOk then begin ADefProc(); locMessageForm.CloseModal; end; end); end; end. Если на экране смартфона уже есть окно от нажатия на TImage, то окно по таймеру уже не показывается. Как быть?
  17. Я имею ввиду, что в билдере у showMessage реализация другая. Вот я и хочу понять в чём отличие реализаций этой функции
  18. В C++ builder при вызове showMessage выполнение кода останавливается, а в делфи нет, но в C++ builder есть другой глюк, поэтому написал всё на делфи. Теперь только осталось решить проблему остановки выполнение кода при вызове showMessage
  19. А если сделать так: if MessageDlg(AMessage, TMsgDlgType.mtCustom, [TMsgDlgBtn.mbOK], 0) = mrOK then , то на андроиде получаю "blocking dialogs not implemented on this platform", но в билдере диалоговые окна модальны и работают нормально. Почему?
  20. Так у меня нет второй формы. Я создаю сообщения по средствам ShowMessage. Их более 500
  21. Разобрался, но создать модальное окно на андроиде мне в делфи rad studio 10 seattle так пока и не удалось. И я так и не понимаю почему в C++ builder диалоговые окна получаются модальными, а в делфи нет?
  22. Пытаюсь создать модальное окно вот так: procedure ShowMessageModal(const AMessage: string); var ACloseDialogEvent: TInputCloseDialogEvent; DialogSvc: IFMXDialogService; begin DialogSvc.MessageDialog(Translate(AMessage), TMsgDlgType.mtCustom, [TMsgDlgBtn.mbOK], TMsgDlgBtn.mbOK, -1, -1, nil, nil, procedure(const AResult: TModalresult) begin if Assigned(ACloseDialogEvent) then ACloseDialogEvent(DialogSvc.MessageDialog, AResult); end); end; но выдаёт Пожалуйста, подскажите как решить проблему
×
×
  • Создать...