Поиск по сайту

Результаты поиска по тегам 'XE8'.

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

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

Тип публикаций


Категории и разделы

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

Категории

  • Курсы



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

Найдено 27 результатов

  1. На Android код, который работает исправно на Win вызывает ошибку "CalledFromWrongThreadException: Only the original thread that created a view hierarcy can touch its views" Смысл таков, что я пытаюсь показать форму из треда, у которой BorderStyle=none (роли это не играет). Решение в Андроиде заключается в том, чтобы пускать через runOnUiThread (то есть выполнять интерфейсные штуки в главном потоке). Как я понимаю, в firemonkey эту фичу должен выполнять Synchronize(). Тем не менее, ошибка возникает. А при запуске в режиме дебага на андроид девайсе событие кнопки вообще не срабатывает иногда. А если срабатывает, то возникает описанное выше исключение. Я собрал тестовый пример и в нем не сразу видна ошибка, тогда как получил я ее на рабочем проекте. Цель: показать бизибокс на время бекграундных действий. Этот бизибокс у меня сначала был просто на каждой форме и я интерфейсно его вызывал, но теперь решил сделать отедльной формой (как и тоаст), но почему так происходит я не понял. Вы что скажете? unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Controls.Presentation, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; TWorkThread = class(TThread) public procedure Execute; override; end; var Form1: TForm1; implementation {$R *.fmx} uses unit2; procedure TForm1.Button1Click(Sender: TObject); var t: TWorkThread; begin t := TWorkThread.Create(True); t.FreeOnTerminate := true; t.Start; end; { TWorkThread } procedure TWorkThread.Execute; begin inherited; Self.Synchronize(procedure begin Form2.Show; Form2.Top := Form1.Top; Form2.Left := Form1.Left; Form2.BringToFront; end); Terminate; end; end.
  2. При публикации нового приложения я обнаружил исчезновение Google Cloud Messaging из консоли разработчика, теперь вместо него Firebase Cloud Messaging. Как я понимаю возможность push сообщений для Delphi закончилась? Или как то можно прикрутить FCM к проекту на Delphi?
  3. Почему-то код, исправно работающий для WIN, не работает на ANDROID. procedure AssignEventToComponent(C: TComponent; MethodName: String; const Evt: TNotifyEvent; OnlyIfNil: boolean = true); var M: TMethod; begin M := GetMethodProp(C,MethodName); if not OnlyIfNil or (M.Code = nil) then begin TNotifyEvent(M) := Evt; SetMethodProp(C,MethodName,M); end; end; Есть какие-то особенности работы TMethod для ANDROID?
  4. Почему-то не возможно использовать константы цветов, заданные в TAlphaColorRec, TColorRec. Они есть, но при присвоении, например, TextSettings.Font.Color = TColorRec.cRed или TAlphaColorRec.Red ничего не происходит. Нужно явно задавать $FFFF0000. Если так у кого-то ещё, напишите. А если что-то можно с этим сделать - тоже
  5. Возникла задача поиска (фильтрации) в ListView по нескольким критериям. К примеру нужно искать по Item.Text, Item.Detail и Item.Date['Category']. Пошел путем, ранее подсказанным на этом форуме - правкой "function TListViewItems.ApplyFilter: Boolean" в FMX.ListView.pas. Передавать строку поиска хотел в строке типа "Text=Пеньки&Detail=по три рубля&Category=Осиновые", но быстро понял что код превращается в одноразовую кашу, а хотелось сделать красиво и на будущее. Сделал так - добавил еще один тип "TFilterPredicateEx = TPredicate<TListViewItem>;", к существующему "TFilterPredicate = TPredicate<string>;" в TListViewItems. Ну и далее по списку добавил аналоги к переменным, функциям и property. Смысл в том чтобы вместо обычного бутылочного горлышка в фильтации: ListView.Items.Filter:= function(X: string): Boolean begin Result := AFilterText.IsEmpty or X.ToLower.Contains(AFilterText.ToLower); end; иметь мощный инструмент с доступом ко всем плюшкам TListViewItem. Теперь это выглядит вот так: type TListViewFilterEx = record Category : String; Name : String; end; ... Var AFilter : TListViewFilterEx; // это для удобства хранения фильтров в одном месте ... AFilter.Category:='Береза'; AFilter.Name:='Пеньки'; AListView.Items.FilterEx:= function(X: TListViewItem): Boolean begin Result:= (AFilter.Category.IsEmpty or X.Data['Category'].AsString.ToLower.Contains(AFilter.Category.ToLower)) And ((AFilter.Name.IsEmpty or X.Text.ToLower.Contains(AFilter.Name.ToLower)) or (AFilter.Name.IsEmpty or X.Detail.ToLower.Contains(AFilter.Name.ToLower))); end; Подозреваю что все это можно было сделать с помощью хелперов, но до их освоения руки никак не дойдут. Если кто то сделает хелпер, дабы не править FMX.ListView.pas, буду очень благодарен. Внимание! FMX.ListView.pas от Delphi XE8, к другим версиям думаю не подойдет. Прилагаю дополненный FMX.ListView.pas к сообщению. FMX.ListViewWithFilterEx.zip
  6. Доброго времени суток. Имеется старый проект написанный на VCL. Хочу его перевести на FMX и столкнулся с тем, что не могу воспроизвести SWF. Компоненты Flash установлены и видны под VCL, а под FMX нет.
  7. Уважаемые форумчане, программирую давно, но как то не приходилось связываться со стилями, до этого писал ( http://fire-monkey.ru/topic/1536-kak-pomeniat-fon-edit/#entry7561 ) что нужно поменять фон в edit. Получил ответ, что лучше работать со стилями, занялся этой проблемой, посмотрел вебинар по этому поводу, перелопатил эту ветку форума про стили, но понял, что все вопросы и ответы были получены в 2014 году и что в XE8 поменялось много. Не смог, вернее смог, но криво и не правильно(( разобраться как поменять стиль у edit. Смог разобраться до момента подкладки TRectangle и все. Даже поставил hittest в false, но потерялась возможность вводе текста, его не видно(. Подскажите, где поновее мануал? Или просьба Ярославу, стиль - очень важная штука, не хотел бы он тут поподробнее об этом рассказать и многие вопросы отпали у очень многих людей. ​Ну или хотяб помогите с этим простым примером.
  8. Доброго времени суток. Есть приложение которое на некоторые действия пользователей отвечает звонком. Приложение живет со времени Delphi 7. Для воспроизведения звука использую такую процедуру: Procedure Tform1.PlayRing; var s:string; begin s := 'ringin.wav'; if FileExists(s) then begin form1.MediaPlayer1.Stop; form1.MediaPlayer1.Clear; form1.MediaPlayer1.FileName:=s; form1.MediaPlayer1.Play; end else showmessage('Error 104: File not found: '+s); end; Звук воспроизводится нормально 50-60 раз. Потом либо выскакивает ошибка: Unsupported media file ringin.wav, либо приложение подвисает. Проблема появилась после перехода с VCL на FMX.
  9. Здравствуйте, подскажите пожалуйста, есть ли такая библиотека или Апи, для перехвата звонков. Необходимо следующее, когда пользователь звонит или ему звонят, необходимо отправить сигнал в PHP, В начале звонка и в конце звонка, а так же отправить номер телефона. кто звонил и кому звонили. как-то так. Возможно ли реализовать на Делфи? Установил себе XE8. Не хотелось бы пистаь на Java? Там все как-то сложно, хотелось бы на Делфи.
  10. Доброго времени суток. Долгое время работал с ХЕ5 и не знал предела радости. Но, как полагается, не без косяков и глюков. И я решил перебраться на более новую платформу ХЕ8. Сразу возникла масса трудностей. Первая: Удаление элементов возможно только в режиме просмотра "Master", что КРАЙНЕ не удобно. Возможно это как-то исправить? Вторая: Если в ХЕ5 я выбирал один размер экрана и с помощью "якорей" расположив элементы на форме, они нормально раздвигались/сдвигались/расширялись в зависимости от размера экрана устройства. В ХЕ8 же для каждого экрана, как я понял, необходимо вручную располагать элементы на экране. Однако размеры экранов предложены не все, далеко не все... ну и потому при запуске приложения, кроме перемешанных элементов на форме, я ничего не увидел... Я создавал "Multi-divice application". Более подходящего я не нашел... Может я что-то не так делаю? Разъясните.
  11. Задача следующая - добавить анимацию в ListBoxItem по клику, ListBoxItem может быть несколько десятков. Создавать для каждого Animation накладно. Update: Нашел решение в теме http://fire-monkey.ru/topic/1073-smena-roditelskogo-komponenta-dlia-animatora/ : но мне нужно также событие AnimationFinish, по нему происходит смена содержимого ListBox. (Пишу компонент файл-менеджера для одного проекта). Update: Вроде нашел решение, все работает. Подскажите корректно ли я это делаю? procedure TFormMain.FormCreate(Sender: TObject); begin FloatAnimation.Parent:=Nil; // FloatAnimation создан в дизайнатйме, лежит на форме, поэтому нужно так сделать. FloatAnimation.Enabled:=False; end; procedure TFormMain.ListBoxFilesItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); begin CurrentItem:=Item; if CurrentItem.Tag=1 then // Смена папки begin FloatAnimation.Parent:=Item; FloatAnimation.PropertyName:='Opacity'; FloatAnimation.Enabled:=True; FloatAnimation.Start; end; end; procedure TFormMain.FloatAnimationFinish(Sender: TObject); begin FloatAnimation.Enabled:=False; FloatAnimation.Parent:=Nil; FillListBoxFile(CurrentItem.TagString); end; Причем без этого куска кода: FloatAnimation.Enabled:=False; FloatAnimation.Parent:=Nil; работать не хочет. Хотя работает и ладно... ;-)
  12. Olá, estou tentando usar o fgActionSheet com o TakePhotoFromLibraryAction e não funciona! Já tentei até mesmo programar no OnClick da Action e dentro chamar: TakePhotoFromLibraryAction.ExecuteTarget(nil); mas não é aberto a biblioteca de fotos. O que posso fazer para isso funcionar? Obrigado! By Google Translator: Hello, I am trying to use the fgActionSheet with TakePhotoFromLibraryAction and does not work! I've tried even program the OnClick of Action and within call: TakePhotoFromLibraryAction.ExecuteTarget (nil); but it is not open to photo library. What can I do for this to work? Thanks!
  13. Если кому не трудно, объясните почему вместо значения переменной при дебаге я вижу такое сообщение: "Error reading address 0x0: No error". Дебажу на андроиде, делфи ХЕ 8. Нормально ли это?
  14. Добрый день, Знает ли кто-либо адекватный способ для чтения QR кодов на IOS используя XE8 или выше, желательно с рабочими примерами. ZBar и ZXing - не работают (черный экран)
  15. Подскажите как добраться до кнопки очистки содержимого TSearchBox? Сам TSearchBox у TListView благодаря теме "Можно ли программно передать фокус на SearchBox и очистить строку?" доступен без проблем, но кнопка не обнаруживается в ListViewProducts.SearchEdit.Children.Items :-( Хочу изменить логику ее появления - сделать видимой всегда, когда есть текст в ListViewProducts.SearchEdit.Text. По умолчанию ее поведение малость загадочное - она исчезание при любой возможности (потеря фокуса, Resize, смена ориентации и т.д.). Что бы очистить поле поиска, пользователю приходится в данный момент производить следующие манипуляции: Кликнуть на SearchBox Ввести любой символ Нажать на появившуюся "кнопку с крестиком" Пока написан костыль на все возможные манипуляции - добавляю пробел в конец SearchBox, удаляю добавленный пробел, но иногда он не срабатывает и вводит пользователя в ступор. Пытался решить проблему добавлением отдельной кнопки очистки, с нормальным поведением, но опять же встает вопрос как навсегда скрыть родную кнопку. Сейчас пытаюсь отказаться от встроенного в TListView TSearchBox, сделать отдельное поле ввода поиска, но с наскока не пойму как передавать строку фильтрации в TListView.
  16. Среда XE8 стоит на Win 8,1. Приложение запускается. Переношу приложение на клиентскую машину с Win 7. Запускаю - вылетает такая ошибка: А после, это: Привожу код, который выполняется при начале отображения формы: procedure TForm1.FormShow(Sender: TObject); var StrTemp: TStrings; begin try StrTemp := TStringList.Create; DM1.FDConnection1.Params.Database := ExtractFileDir(ParamStr(0))+'\data\flatcom.db'; DM1.FDConnection1.Connected := True; DM1.FDTable1.Active := true; DM1.GetAdmins(StrTemp); self.edtAdmin.Items := StrTemp; edtAdmin.Items.Count; StrTemp.Clear; DM1.GetNationals(StrTemp); self.edtNationality.Items := StrTemp; StrTemp.Clear; DM1.GetRoomsType(StrTemp); self.edtRoomType.Items := StrTemp; StrTemp.Clear; DM1.GetCalcs(StrTemp); self.edtCalc.Items := StrTemp; StrTemp.Free; self.dtdtContract.Date := Date; Self.edtNumContract.SetFocus; Self.edtNumContract.SelectAll; except ShowMessage('Файл базы данных не найден. Обратитесь к разработчику.'); Self.Close; end; end; Ошибка, явно в этом месте: DM1.FDConnection1.Params.Database := ExtractFileDir(ParamStr(0))+'\data\flatcom.db'; DM1.FDConnection1.Connected := True; Если можете, скажите, в чем может быть проблема?
  17. Здравствуйте всем! Проверял на OS X - Mountain Lion 10.8.3 После Map/Unmap-обновления картинки, изображение на 3D-форме с TImage3D не обновляется. Вот простой пример - TestMap.zip - по таймеру заносит шум в TImage3D.Bitmap. В XE7 работает и под Win32 и под OSX. В XE8 под win32 работает, а под OSX отображает белый фон. Если над формой провести каким-то другим окном, то в этом месте картинка, т.е. ее часть (в нашем случае шум), отрисовывается. Тоже самое если нашу форму вывести за экран и потянуть обратно - в местах появления формы отображается часть нашей картинки (шума). BeginUpdate/EndUpdate и Repaint результата не дали. XE8 Update1 - тоже самое. Как сие побороть? (Обычный TImage отрабатывает нормально).
  18. Поэкспериментировал и нашел простейший случай - узел и в нем два листа. Алгоритм следующий (упрощенно) каждый лист показывает пару key=value при клике в узел остается только key= и показывается листвью с выбором value. Затем мы получаем грубо key=new value (хотя не обязательно) После такой операции вы обязательно получаем то что 2 листа меняются местами С узлом ничего не происходит ни программно ни фактически В более сложных случаях тоже шевеление наблюдается, но я его не изучал подробно
  19. Согласно http://edn.embarcadero.com/article/44358 проблему http://qc.embarcadero.com/wc/qcmain.aspx?d=122372 пофиксили. Но сейчас проверил - ничего не изменилось. FilterChar как не работал на андроиде, так и не работает. Или я туплю? Delphi XE8 с установленным Update 1? в окне About, раздел Installed Updates вообще должно писать что то? Или эмбаркадеро больше не утруждает себя такими мелочами?
  20. Здравствуйте. Помогите пожалуйста с одним вопросом. Есть приложение где форма с компонентом MapView вызывается через show. Так вот, если закрыть эту вызванную форму приложение падает. При этом, если на OnShow формы с компонентом выставлять MapView.Visible:= True, а на OnClose MapView.Visible:= False то всё работает нормально. Но, так как это не указано в документации, возникает вопрос, как правильно с этим бороться?
  21. Добрый день! Создал в палитре стилей кнопку с картинкой! Указал у кнопки этот стиль в свойстве StyleLookup. Как мне теперь картинку туда положить?
  22. На виртуальной машине установил XE8 параллельно с XE7. Создал тестовое приложение с ошибкой. Запустил по F9 на телефоне. Отладчик не запускается, ошибку не отлавливает. На Win и iOS работает. Скажите мне, что у Вас работает отладка на андроиде и это не баг XE8, чтоб я вздохнул с облегчением.
  23. Поставил XE8. По F9 и по кнопке не запускается отладочное окно. Пустой проект с настройками по умолчанию. Конфигурация Debug-Debug. В проекте все галочки на отладку установлены. Что не так?
  24. Места проведения: Казань, Санкт-Петербург, Тбилиси Сроки проведения: Казань (19 мая), Санкт-Петербург (21 мая), Тбилиси (28 мая) Ссылка на мероприятие: http://www.delphitour.ru/ Регистрация: http://forms.embarcadero.com/EM15Q2RUDeveloperDirectLive Приглашаем вас принять участие в Мировом туре RAD Studio XE8, который пройдет 19 мая в Казани, 21 мая в Санкт-Петербурге и 28 мая в Тбилиси. Мы расскажем вам о возможностях RAD Studio XE8, и вы узнаете как: разрабатывать современные приложения для iOS x64 и Android L; ускорить разработку кроссплатформенных приложений с новым возможностями конструктора единого интерфейса и инструмента предпросмотра на разных устройствах и форм-факторах; использовать новые компоненты MapView, ImageList, WebBrowser и др; увеличить эффективность труда разработчиков и улучшить качество кода с новыми возможностями оптимизации кода, динамической проверки синтаксиса, метрик, анализа кода (Castalia); отслеживать и анализировать модель поведения пользователей в созданных приложениях (AppAnalytics); создавать приложения для «Internet of Things» и Beacons; сбалансировать ИТ инфраструктуру за счет новых возможностей мобильных сервисов (EMS); выполнять тестирование кода (DUnitX) и отображать реалистичное движение (Box2D) Количество мест ограничено!