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

Поиск сообщества

Показаны результаты для тегов 'firemonkey'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

  1. Не первый год пишу используя VCL, но вот попробовал написать приложение используя FireMonkey. Пишу небольшое приложение под Windows. Столкнулся с проблемой: задал в MainMenu Shortcut, а потом решил его убрать. ObjectInspector показывает, что он удалён (None), однако в приложении при компиляции и запуске он остался. Можно его изменить, но избавиться от него мне не удаётся. Перестройка проекта, перезапуск среды и перезагрузка системы не даёт результата. Можно конечно удалить этот пункт и заново создать, но как то это не то. Может кто сталкивался с этим багом и как его победить?
  2. Как можно узнать размер видеопамяти под WIN? В инете находятся решения через реестр, с помощью DX и другие, но все сообщения старые. Может есть какой способ узнать средствами FMX?
  3. Доброе время суток. У меня есть код, который отправляет данные, в частности файлы, из одного приложения в другое, используя технологию AppTethering. Вот код, который отправляет данные: var ImageToStream : TMemoryStream; begin ImageToStream := TMemoryStream.Create; ImageToStream.LoadFromFile('Здесь находится путь к файлу'); ImageToStream.Position := 0; TetheringAppProfile1.Resources.FindByName('ImageTransfer').Value := ImageToStream; ImageToStream.Free; end; А вот который принимает: procedure TForm1.TetheringAppProfile1Resources3ResourceReceived( const Sender: TObject; const AResource: TRemoteResource); var GetImage : TMemoryStream; begin GetImage := TMemoryStream.Create; GetImage.Position := 0; GetImage.LoadFromStream(AResource.Value.AsStream); ImageViewer1.Bitmap.LoadFromStream(GetImage); GetImage.Free; end; Пока передача данных идет между двумя Windows-приложениями, все работает прекрасно. Однако, когда я пытаюсь отправить данные от Windows-приложения в Android-приложение, которое исполняется на смартфоне, подключенном к компьютеру через USB-шнур, данные не проходят.
  4. Здравствуйте. У меня такая проблема. Пытаюсь скачать файл: var S : TMemoryStream; begin S := TMemoryStream.Create(); IdHTTP1.Get('http://sitename.com/7UlmBU7IXHA.jpg', S); S.SaveToFile('/storage/emulated/0/ImageFile.jpg'); S.Free; end; Проблема возникает на последней стадии - при сохранении файла. Android пишет, Cannot create file: '/storage/emulated/0/ImageFile.jpg'. Permission denied, то есть доступ запрещен. Но как его разрешить? Когда я устанавливаю приложение, система пишет, что никаких разрешений данная программа не требует.
  5. Всем привет, с помощью Java2Op сделал обертку библиотеки получил модуль с интерфейсами. Теперь сам вопрос в JavaInterfaces.pas есть описание: JUsbManagerClass = interface(JObjectClass) ['{1048A6E9-E1B5-4DA5-A168-ED91E8DE5284}'] {class} function _GetACTION_USB_ACCESSORY_ATTACHED: JString; cdecl; {class} function _GetACTION_USB_ACCESSORY_DETACHED: JString; cdecl; {class} function _GetACTION_USB_DEVICE_ATTACHED: JString; cdecl; {class} function _GetACTION_USB_DEVICE_DETACHED: JString; cdecl; {class} function _GetEXTRA_ACCESSORY: JString; cdecl; {class} function _GetEXTRA_DEVICE: JString; cdecl; {class} function _GetEXTRA_PERMISSION_GRANTED: JString; cdecl; {class} function getAccessoryList: TJavaObjectArray<JUsbAccessory>; cdecl;//Deprecated {class} function openAccessory(accessory: JUsbAccessory): JParcelFileDescriptor; cdecl;//Deprecated {class} function openDevice(device: JUsbDevice): JUsbDeviceConnection; cdecl;//Deprecated {class} procedure requestPermission(device: JUsbDevice; pi: JPendingIntent); cdecl; overload;//Deprecated {class} property ACTION_USB_ACCESSORY_ATTACHED: JString read _GetACTION_USB_ACCESSORY_ATTACHED; {class} property ACTION_USB_ACCESSORY_DETACHED: JString read _GetACTION_USB_ACCESSORY_DETACHED; {class} property ACTION_USB_DEVICE_ATTACHED: JString read _GetACTION_USB_DEVICE_ATTACHED; {class} property ACTION_USB_DEVICE_DETACHED: JString read _GetACTION_USB_DEVICE_DETACHED; {class} property EXTRA_ACCESSORY: JString read _GetEXTRA_ACCESSORY; {class} property EXTRA_DEVICE: JString read _GetEXTRA_DEVICE; {class} property EXTRA_PERMISSION_GRANTED: JString read _GetEXTRA_PERMISSION_GRANTED; end; [JavaSignature('android/hardware/usb/UsbManager')] JUsbManager = interface(JObject) ['{6F603A25-E816-4012-9B23-054B428A4A75}'] function getDeviceList: JHashMap; cdecl;//Deprecated function hasPermission(device: JUsbDevice): Boolean; cdecl; overload;//Deprecated function hasPermission(accessory: JUsbAccessory): Boolean; cdecl; overload;//Deprecated procedure requestPermission(accessory: JUsbAccessory; pi: JPendingIntent); cdecl; overload;//Deprecated end; TJUsbManager = class(TJavaGenericImport<JUsbManagerClass, JUsbManager>) end; Что бы получить доступ к методам интерфейса используется следующая конструкция: JavaObject := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.USB_SERVICE); FUsbManager := TJUsbManager.Wrap((JavaObject as ILocalObject).GetObjectID); теперь я могу получить доступ к методам JUsbManager, а как получить доступ к методам JUsbManagerClass Вот пример кода на Java, который хочу реализовать в Delphi: UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); List<UsbSerialDriver> availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager); if (availableDrivers.isEmpty()) { return; } // Open a connection to the first available driver. UsbSerialDriver driver = availableDrivers.get(0); //Вот тут мы видим что из экземпляра класса мы вызываем openDriver, как это сделать в Delphi UsbDeviceConnection connection = manager.openDevice(driver.getDevice()); Как мы можем заметить этого метода в описании интерфейса нет, но есть в классе, как получить доступ к экземпляру класса?
  6. Задался идеей написания IPTV приложения "для себя", в котором при желании смог бы реализовать что-то необходимое и удалить то, что не нужно. Собственно вопрос в другом: Я написал простое приложение, которое отлавливает коды кнопок с пульта, приложение по сути самое банальное, использует OnKeyDown и OnKeyUp (чисто для теста). И по нажатию на кнопку на пульте высылает например в Memo или ListBox Информацию о нажатой кнопке (включая ее код). Но суть в том, что далеко не все кнопки таким образом распознаются. Для примера: Кнопки громкости, назад, домой, увеличение\уменьшение громкости, стрелки(влево, вправо, вверх, вниз) и центральная кнопка (по совместительству OK). Цифры все определяются, как одна - 0 Кнопки, которые не определяются (не срабатывает событие, ибо если был бы неизвестен код, то думаю, в таком случае получил бы все, кроме кода кнопки), но по нажатию кнопки, которая не определяется приложением - ничего не происходит вообще. Вопрос: Есть ли возможность как-то "научить" приложение распознавать эти кнопки? (Я где-то читал, может даже и здесь, что это все так реализовано именно на уровне самого FireMonkey, будто этих кнопок вообще не существует). Если эта тема уже поднималась на форуме или вопрос очень просто решается - извиняюсь) Решение: http://fire-monkey.ru/topic/5624-как-отловить-кнопки-пульта-ду/?do=findComment&comment=36399
  7. Приветствую! Изменить цвет фона или текста заголовка tstringgrid можно на событии DrawColumnHeader. Но хотелось сделать это с помощью стилей в designtime. Есть ли такая возможность? Добавление стилей headeritem приводит в конечном счете к полному обвалу 10.2. При изменении свойств headeritem сначала выскакивает ошибка Intrerface not supported, ну, а потом, любимый access violation в fmx250.bpl. В 10.3 ошибка повторилась
  8. BlurBehind Control. Компонент позволяет использовать размытие, по типу, которое реализовано в WIndows 10, т.е компонент позволяет "размыть" то, что находится под ним. Пусть и увидел это непосредственно в самой студии на стартовой странице (Welcome Page), но все-таки подумал скинуть ссылку сюда. Исходники: https://github.com/grijjy/CodeRage2019/tree/master/BlurBehind Видео:
  9. Добрый день. Очень нужна Ваша помощь. Мне необходимо сделать координатную сетку в виде точек. При масштабировании панели количество точек должно изменяться . Хочу все это сделать на канве панели. Унаследовал класс и переопределил procedure Paint; override; Tfield = class(TPanel) Constructor Create( parent: TFmxObject); procedure Paint; override; Procedure OnMyClick (Sender: TObject); end; В теле метода я пробовал рисовать. Экспериментировал и столкнулся с такой проблемой. Ничего не отображается. Нет никаких изменений. Если я наследую не от Tpanel а от Timage то часть кода работает а часть работает очень криво. Очень хочу разобраться почему . {Отображается сразу} for a:=1 to 1000 do begin self.Canvas.Fill.Color:= TAlphaColors.Crimson; self.Canvas.FillEllipse(rect(1,1,10,10),self.AbsoluteOpacity); self.Canvas.FillEllipse(rect(round(self.Width-9),round(self.Height-9),round(self.Width), round(self.Height)),self.AbsoluteOpacity); self.Canvas.FillEllipse(rect(round(self.Width-9),1,round(self.Width), 9),self.AbsoluteOpacity); self.Canvas.FillEllipse(rect(1,round(self.Height-9),10, round(self.Height)),self.AbsoluteOpacity); end; {Отображается только после того как я проскролю Scrollbox на котором лежит панель в крайнее нижнее правое положение} self.Canvas.Stroke.Color:= TAlphaColors.Crimson; self.Canvas.Stroke.Thickness:=7; Canvas.BeginScene; self.Canvas.DrawLine(PointF(20, 20), PointF(100, 50), self.AbsoluteOpacity); Canvas.EndScene; Подскажите пожалуйста, почему не работает такое с панелью? Как правильно рисовать на панели? Почему в случае с имейджем все работает так некорректно? Почему работает только после скрола? Каким способом мне лучше сделать координатную сетку? состоящую из точек как в режиме Design?
  10. Приветствую. Имеется необходимость получить список всех видимых (GUI) компонентов, установленных в Delphi. Я видел где-то, что можно как-то попробовать через ToolsAPI это сделать, но ничего толкового на эту тему так и не нашел. Может есть у кого мысли по этому поводу? Если возникнет вопрос: для чего тебе это? Ответ: Для приложения LivePreview, которое идет вместе со студией для того, чтобы видеть то, что размещаю на форме непосредственно на устройстве. Спасибо!
  11. Здравствуйте, господа программисты!Пытаюсь протестировать Android приложение на любом эмуляторе.Всегда одна ошибка "Unable to create process: Performing Streamed Install"Понимаю, что ссылок много по данной теме в интернете, но ни одна не помогла.Использую Embarsadero Delphi 10.3При компиляции на реальный телефон всё работаетПри компиляции на эмулятор даже пустого приложения выдается та же ошибка"Unable to create process: Performing Streamed Install"В чем проблема? Хотя бы в какую сторону копать?
  12. Edward Tarasov

    Навигация TmapView

    Подскажите плз студенту, весь инет перерыл - ничего кроме tmapview не нашел, и тот позволяет только отображать маркеры и прокладывать через них маршрут... ок маршрут проложили а как включить навигацию? чтобы телка сказала - поверни те туда то.... не ясно, и возможно ли вообще такое? Кстатить при использовании tmapview вместо карты - пустой экран. вообщем надо передать в tmapview мое местоположение и куда надо идти, затем включить навигацию Кто занет как сделать ????????? Или может есть возможность использовать встроенные возможности навигации?
  13. Здравствуйте! Начал изучать FireMonkey и столкнулся с тем, что TBitmap не поддерживает размер изображения больше 8132, кажется. Т.е. большие размеры рисунка он грузит, но за счёт потери качества, размер пиксела растёт, а размер рисунка по оси всё равно не превышает 8132. В то же время в простом дельфи можно грузить и работать с гораздо большими размерами, например, один из файлов имеет размер 61216 х 1486 точек. Подскажите пожалуйста, есть ли возможность работать с большими файлами в FireMоnkey и как это можно организовать? Программа создаётся для работы только в Windows.
  14. Edward Tarasov

    Компиляция под IOS

    поставил этот патч https://cc.embarcadero.com/item/30805 Версия PAserver на mac стала - 10.1.1.37, test connection отвечает success, но при компиляции выдаеться ошибка - [PAClient Error] Error: E0014 Connection refused. Platform Assistant Server version mismatch - expecting version '10.0.1.23'. 10.0.1.23 - это старая версия PA... откатиться нельзя ибо не пашет, тоесть этот патч исправляет старую проблему - но добавляет эту... суть в том, как я понял после 4-х часовго гугления, что надо исправить PAclient, у которого версия почему то осталась старая... кто знает как с этим быть?
  15. Создал проект там куча компонентов. Но разворачивании формы на весь экран компоненты размер не меняют: Прочитал про свойства align Но как только я выставлю Group box например left другим right все сбивается в кучу и поправить это не могу. Как настроить align ?
  16. Как сделать форму с компонентами под все разрешения?
  17. Как сделать мозаику (drag/drop) ? Получается есть 2 прямоугольника (которые надо перетаскивать) и есть ещё 2 прямоугольника (которые должны принимать) и ещё есть кнопка проверки. При нажатии определяет правильно ли разместили прямоугольники.
  18. Как задать градиентную заливку TChart? именно самих столбцов.
  19. При нажатии на Label действия не происходят procedure TForm2.Label11Click(Sender: TObject); begin Button1.visible:= true; {label7.Font.Style:= []; label8.Font.Style := []; label9.Font.Style := []; //label11.Font.Style := [fsbold]; label10.Font.Style := []; } GroupBox12.Visible := false; GroupBox13.Visible := false; GroupBox14.Visible := false; GroupBox15.Visible := true; GroupBox16.Visible := false; end;
  20. Edward Tarasov

    ancestor "object" not found

    Чего то под конец написания диплома, вылазиет все больше и больше ошибок... еще одна! Удалил не нужный layout - теперь пишет -'asentor for bron not found' , и так со всем чтобы не удалил - причем под винду компилиться норм, а с ведройдом беда! кто то сталкивался?
  21. Привет. Я сделал новую версию YouTubeApi компоненты. Поддерживаемые VCL & FMX + Mobile. Никаких официальных YouTube Api компоненты. Только данные с парсинг. Пример доступен в архиве. Новый === v1.4 - 25/02/2018 + Устранение проблем YouTubeApiDelphi
  22. Edward Tarasov

    webbrowser delphi 10.2

    Такая проблема... прога на андройд - два лэйаута в первом просто кнопки, во втором браузер. до тех пор пока второй лэйаут с браузером не открыли - кнопки в первом нажимаются - как только открыли браузер и закрыли его(visible:=false(и лэйаут и браузер)) кнопки в первом всеравно не нажимаются, как будто нажимаю на пустой лайаут, при том что сами кнопки на форме видно.
  23. Добрый день, у меня есть один вопрос, делаю приложение в виде программы-мастера на FMX, в качестве страничек мастера использую TTabControl, случайно обнаружил, что при нажатии Tab+Ctrl вкладки переключаются, вроде так и должно быть, но мне вот такое поведение не подходит. Можно ли как-то отключить\заблокировать переключение вкладок по нажатию клавиш. Пробовал обрабатывать события KeyUp и KeyDown для TTabItem, но переключение вкладки происходит раньше, чем происходит вызов обработчика. Оно не критично конечно, но может быть кто-то сталкивался (если коротко, хочу переключать вкладки только по нажатию кнопок в программе)? Спасибо.
  24. Нет ли у FMX готовой функции для открытия веб-ссылок из приложения? А то приходится городить огород с лисапетами и кучей IFDEF. В итоге что у меня получилось. Для удобства разнес все по разным модулям. Модуль для Windiws unit uUtilsWindows; interface {$IFDEF MSWINDOWS} uses ShellApi, Variants, Windows, FMX.Types, FMX.Platform.Win; procedure WindowsOpenUrl(const sUrl: string; WindowHandle: TWindowHandle); {$ENDIF} implementation {$IFDEF MSWINDOWS} procedure WindowsOpenUrl(const sUrl: string; WindowHandle: TWindowHandle); begin ShellExecute(FmxHandleToHWND(WindowHandle), 'open', PChar(VarToStr(sURL)), nil, nil, SW_NORMAL); end; {$ENDIF} end. Модуль для Android unit uUtilsAndroid; interface {$IFDEF ANDROID} uses FMX.Helpers.Android, Androidapi.JNI.Net, Androidapi.JNI.GraphicsContentViewText, AndroidApi.Helpers; procedure AndroidOpenUrl(const sUrl: string); {$ENDIF} implementation {$IFDEF ANDROID} procedure AndroidOpenUrl(const sUrl: string); Var Uri: Jnet_Uri; OpenLinkIntent: JIntent; begin Uri := StrToJURI(sUrl); OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri);// будем что-то смотреть OpenLinkIntent.addCategory(TJIntent.JavaClass.CATEGORY_BROWSABLE);// смотреть в браузере OpenLinkIntent.setData(Uri);// смотреть эту ссылку SharedActivity.startActivity(OpenLinkIntent);// открываем end; {$ENDIF} end. теперь в основной форме: uses ..., ...{$IFDEF ANDROID}, vkbdhelper, uUtilsAndroid{$ENDIF} {$IFDEF MSWINDOWS}, uUtilsWindows {$ENDIF}; ... ... ... procedure TfmEditObject.actOpenUrlExecute(Sender: TObject); begin {$IFDEF ANDROID}AndroidOpenUrl(edMapsCoordUrl.Text);{$ENDIF} {$IFDEF MSWINDOWS}WindowsOpenUrl(edMapsCoordUrl.Text, Self.Handle);{$ENDIF} end; А если добавлять ещё одну платформу, то ещё один модуль понадобится. Может есть более правильный вариант, так сказать, дизайна исходного кода?
  25. Суть проблемы следующая: после перехода с одной вкладки на другую в tabcontrol страница не отображается, фактически она переключается но на экране отображается предыдущая вкладка с которой был переход, ровно до той поры пока на что нибудь не клацнешь, нужно либо нажать на кнопку в тулбаре либо открыть multiview. После того как я первый раз с этим столкнулся я так и делал программно открывал и закрывал multiview, но не могу же я так делать постоянно, нужно решить проблему. Для подробности напишу, что есть основной tabcontrol в котором вкладки открываются из multiview, во вкладках есть вложенные tabcontrol-ы, со своими страницами в основном по 2 страницы. Зря я начал делать приложения в делфи... чем дальше в лес тем больше дров.
×
×
  • Создать...