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

Alex7wrt

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

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

  • Посещение

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

    31

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

  1. Управляющая должна быть обычной формой и сворачиваться как любое окно Как обойти вопрос стороной меня не так интересует. Костыль запилить всегда можно. Меня интересует прямое решение вопроса.
  2. Каждая форма отображается на разных мониторах. Нужно, чтобы, если человек захочет свернуть форму на одном мониторе, на другом она не сворачивалась. Практическая реализация - вторая форма отображается на экране проектора, а первая - управляющая форма на экране ноутбука или ПК. При проведении презентации если человек захочет на рабочем ПК свернуть управляющую форму по своим делам, то чтобы при этом на экране проектора ничего не изменилось. Для того, чтобы скрыть форму с экрана проектора предусмотрены отдельные кнопки/функции в управляющей форме.
  3. Не видел и не знаю, просто интересуюсь, есть ли такая возможность.
  4. Такого нет, но если я буду решать вопрос с формами использованием SDI, то на MacOS приложение работать не будет вообще.
  5. Дело в том, что приложение должно работать и в MacOS.
  6. Ясно. А возможно ли в принципе независимо сворачивать формы в FMX?
  7. Пробую так: File->New->Projects->SDI Application. Создается заготовка, но нет опции выбора другой платформы кроме Windows.
  8. Добрый день. В приложении есть две формы. При сворачивании главной формы (Form1), также сворачивается и Form2. Как этого избежать? Интересует универсальный вариант - для Windows и MacOS. На крайний случай можно и только под Windows.
  9. Спасибо. Тогда вопрос, почему приложение не запускается на iOS Device можно считать закрытым.
  10. Можно поподробнее? Это о том, что нужно заплатить $99 в год для публикации в App Store? Этого я еще не делал. Только учусь разработке на iOS. Или без этого даже приложение на симуляторе нормально не запустить?
  11. Заходил в Project->Options->Uses Permissions Там для iOS Simulator/iOS 32/iOS 64/ OS X вообще пустота, никаких настроек. Вообще-то настройки есть только для Android, для других платформ ничего нет. А где нужно выставлять разрешения?
  12. Мо В Devices IPad Mobile отображается с отметкой, что на нем iOS 10.1.1, а текущая версия XCode 8.0 это не поддерживает. Это можно как-то обойти, ведь c XCode 8.1 у меня FMX вообще не хочет работать?
  13. Да, как раз на симуляторе iOS я проверял. Устройство пока не получается корректно подключить ( в соседней теме вы по этому поводу тоже отписывались). Файл деплоится нормально - по крайней мере я вижу как в FMX во время Deploy пробегает строчка.
  14. Устройство отображается, а Deploy, кстати, не происходит - после компиляции окно закрывается
  15. На MacOS и iOS вылетает приложение при попытке чтения из ресурса. Этот код нормально работает на Windows и Android, а на MacOs и iOS приводит к вылету приложения. procedure TForm1.Button1Click(Sender: TObject); var rs: TResourceStream; begin rs:=TResourceStream.Create(0,'png1',PChar(RT_RCDATA)); image1.Bitmap.LoadFromStream(rs); rs.Free; end; В чем может быть причина?
  16. Спасибо, помогло! Но теперь не устанавливается на IOS Device - В студии все компилируется, окно процесса компиляции благополучно исчезает, но на устройстве (IPad) ничего не появляется. В платформе выбрано IOS Device - 32 bit (либо 64 bit - эффект тот же) и IPad Mobile.
  17. Alex7wrt

    Cannot Deploy iOS App to iOS Simulator

    Добрый день. Пытаюсь запустить приложение на IOS симуляторе. При компиляции выскакивает сообщение: При этом на MacOS приложения запускаются нормально. В чем может быть проблема? Berlin Update 1. XCode 8.1. PAServer 18.0
  18. Добрый день. Разбираюсь с работой FMX под iOS. Возник вопрос, каким образом реализовать межстраничную рекламу в этой операционке? Под Android делаю так: CallInUIThread(procedure begin FJInterstitialAd:= TJInterstitialAd.JavaClass.init(MainActivity); FJInterstitialAd.setAdUnitId(StringToJString('Advertise_ID_code')); RequestBuilder:= TJAdRequest_Builder.JavaClass.init(); FJAdRequest:= RequestBuilder.build; FJInterstitialAd.loadAd(FJAdRequest); end); И далее: CallInUIThread(procedure begin if FJInterstitialAd.isLoaded then FJInterstitialAd.show; end); Есть ли аналог под IOS?
  19. А как добавить межстраничную рекламу в iOS? Насколько я понимаю, TBannerAD для межстраничной рекламы не подходит?
  20. Добрый день. Знаю, что на форуме есть несколько тем о том, как удалять объекты под Android и счетчике ссылок, однако использование рекомендаций оттуда мне пока не помогло. Суть вопроса: создаю свой класс type TRext =class(TRectangle) Text: TText; procedure RextMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); procedure RextMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); procedure RextMouseLeave(Sender: TObject); Constructor Create(AOwner: TComponent); override; Destructor Destroy; override; end; type TMyChoose = class Item1, Item2, Item3: TRext; Edits: TEdit; procedure ItemClick(Sender: TObject); procedure OnEditFocus(Sender: TObject; var ACanFocus: Boolean); Constructor Create(Form: TForm); Destructor Destroy; override; end; ..... constructor TRext.Create(AOwner: TComponent); begin inherited Create(AOwner); Text:=TText.Create(Self); Text.Parent:=Self; Text.Align:=TAlignLayOut.Client; Self.Text.OnMouseDown:=RextMouseDown; Self.Text.OnMouseUp:=RextMouseUp; Self.Text.OnMouseLeave:=RextMouseLeave; end; Destructor TRext.Destroy; begin Text.Release; Text:=nil; inherited; end; constructor TMyChoose.Create(Form: TForm); begin inherited Create; Item1:=TRextCreate(Form); Item1.Parent:=Form; Item1.Align:=tAlignLayout.MostLeft; Item2:=TRextCreate(Form); Item2.Parent:=Form; Item2.Align:=tAlignLayout.MostLeft; Item3:=TRextCreate(Form); Item3.Parent:=Form; Item3.Align:=tAlignLayout.MostLeft; Edits:=TEdit.Create(Form); Edits.Parent:=Form; Edits.Align:=tAlignLayout.MostLeft; ......... end; Destructor TMyChoose.Destroy; begin Item1.Release; Item1:=nil; Item2.Release; Item2:=nil; Item3.Release; Item3:=nil; Edits.Release; Edits:=nil; inherited; end; Под Windows все нормально работает и уничтожается. Под Android вызов Destroy у объекта типа TMyChoose не приводит ни к чему. Вместо Release и nil использовал также DisposeOf и Nil, а также FreeAndNil - результат аналогичный. Как правильно уничтожать составные объекты?
  21. Есть следующая иерархия компонентов: По умолчанию компонент serv невидимый, visible:=false. Все вложенные в него компоненты имеют свойство visible:=true. Первоначально, когда делаем serv.visible:=true компоненты im1, tx1, im2, tx2 реагируют на нажатие с первого раза, т.е. все нормально. Если снова сделать serv.visible:=false, а затем serv.visible:=true, то эти компоненты реагируют на нажати только со второго раза. Почему так происходит?
  22. Вот кстати вопрос с кодеками тоже интересует. На одном ноутбуке через MediaPlayer нормально воспроизводятся многие форматы, причём без какой-либо настройки кодеков. А на другом почти ничего, даже mpeg, и даже после установки klite кодеков. При этом на windows media player и до и после все норм. А он по идее также использует DirectShow как и MediaPlayer.
  23. TMediaPlayerControl при проигрывании видео всегда отображается поверх всех элементов. Это особенность реализации плеера в FMX. Можно попробовать TMediaPlayerControl.Visible:=False;
  24. Задача сводится к получению события завершения воспроизведения файла. В FMX MediaPlayer не имеет такого функционала. Мне здесь видится два варианта: 1. В начале воспроизведения медиа запустить таймер с проверкой в OnTimer достижения метки TMediaPlayer.Duration, после чего осуществлять необходимые действия. 2. Так как задача под Android, то можно посмотреть в сторону медиаплеера этой ОС var player JMediaPlayer; ......... player:=TJMediaPlayer.Create; player.setDataSource(StringToJString(file_path)); player.prepare; player.setLooping(true); //Если нужно - закольцевать, в FMX этой функции также нет player.setOnCompletionListener(JMediaPlayer_OnCompletionListener); //установка обработчика окончания воспроизведения Сам я никогда не пользовался JMediaPlayer_OnCompletionListener, для моих задач требовалось SetLooping(true), и воспроизводил я только аудио. О реализации этого метода достаточно подробно написано здесь http://stackoverflow.com/questions/9962998/oncompletion-listener-with-mediaplayer.
  25. Спасибо. Очень интересно и полезно. Некоторые пожелания: 1. Функцию FontSizeForBox можно было бы привести к типу single, так как в FMX шрифт может быть нецелым и, кроме того, функция CalcTextSize у вас определяется типом TSizeF. 2. Расширить функциональность FontSizeForBox на случай многострочного текста.
×
×
  • Создать...