-
Постов
2 124 -
Зарегистрирован
-
Посещение
-
Победитель дней
390
Весь контент Brovin Yaroslav
-
FGX [FGX] Предложения о разработке компонентов
Brovin Yaroslav опубликовал вопрос в Вопросы / Questions
Всем добрый день, К каждой версии RAD Studio я добавляю по одному компоненту к Open Source библиотеке FGX. Если у вас есть предложения, какие компоненты, функции, возможности хотелось бы увидеть в новой версии, прошу не стесняться и отписаться в этой теме. Спасибо -
Прикрепите, пожалуйста, проект.
-
Добрый день, Какая платформа?
-
Проект прикрепите, чтобы попробовать по шагам?
-
Добрый день, Это нативный диалог выбора значения. В текущей реализации нету такой поддержки. Поэтому если вы хотите все-таки добиться уменьшения высоты итема, то вам стоит взглянуть в сторону самостоятельного создания диалога на базе DialogFragment
-
Добрый день, Соответствующий аниматор TfgBitmapLinkAnimation добавлен к FGX для XE8. Версия будет доступна с выходом XE8.
- 2 ответа
-
- TRectAnimation
- TSubImage
-
(и ещё 1 )
C тегом:
-
Hot Fix исправляющий проблему запуска приложений на Android 5.0 (Lollipop)
- 6 ответов
-
- delphi xe7
- android 5.0
-
(и ещё 1 )
C тегом:
-
Добрый день, Стандартный эмулятор поддерживает указание гео координат. Но для этого нужно подключиться к симулятору через telnet и прописать ему ручками местоположение. 1. Включаем поддержку клиента Telnet для Windows 7-8 Пуск - Панель управления - Программы и компоненты - Включение или отключение компонентов windows - Клиент Telnet (ставим галочку) 2. Подключаем к эмулятору через telnet Запускаем командную строку cmd: 3. Задаем координаты эмулятора задаем координаты и смотрим, как в сенсоре срабатывает событие смены геопозиции: Подробности тут: Using the Emulator Console Geo Location Provider Emulation
-
Рисовать средствами iOSapiVoreGraphics можно только на нативном UIView. Поэтому для начала нужно создать на форме нативный UIView. Рисование возможно только в перекрытом методу UIView.drawRect. Поэтому создаем отдельный класс UIView и перекрываем метод DrawRect. Ниже приведен код, оболочки UIView, который выполняет отрисовку, через событие OnPaint. unit FMX.DrawableView; interface uses System.Types, System.TypInfo, iOSapi.CoreGraphics, iOSapi.UIKit, Macapi.ObjectiveC; type IMyView = interface(UIVIew) ['{A7145466-B0FA-42C1-A588-E73D03FFEBF1}'] procedure drawRect(rect: CGRect); cdecl; end; TOnPaint = procedure (Sender: UIView; Context: CGContextRef; const Rect: CGRect) of object; TDrawableView = class(TOCLocal) private FOnPaint: TOnPaint; function GetView: UIView; protected function GetObjectiveCClass: PTypeInfo; override; public constructor Create(const AFrame: TRectF); procedure drawRect(rect: CGRect); cdecl; public property View: UIView read GetView; property OnPaint: TOnPaint read FOnPaint write FOnPaint; end; implementation { TMyView } constructor TDrawableView.Create(const AFrame: TRectF); var V: Pointer; begin inherited Create; V := View.initWithFrame(CGRectMake(AFrame.Left, AFrame.Top, AFrame.Width, AFrame.Height)); if GetObjectID <> V then UpdateObjectID(V); end; procedure TDrawableView.drawRect(rect: CGRect); var context: CGContextRef; begin context := UIGraphicsGetCurrentContext(); try if Assigned(FOnPaint) then FOnPaint(View, context, rect); finally CGContextClearRect(context, rect); end; end; function TDrawableView.GetObjectiveCClass: PTypeInfo; begin Result := TypeInfo(IMyView); end; function TDrawableView.GetView: UIView; begin Result := UIView(Super); end; end. После того, как у нас есть нативное UIView, мы должны его создать и повесить на наше введенное событие OnPaint обработчик отрисовки: private FView: TDrawableView; protected // Декларация обработчика рисования procedure DoPaint(Sender: UIView; Context: CGContextRef; const Rect: CGRect); uses FMX.Platform.iOS; constructor TForm1.Create(AOwner: TComponent); var iOSHandle: TiOSWindowHandle; begin inherited; FView := TDrawableView.Create(TRectF.Create(0, 0, 200, 200)); FView.OnPaint := DoPaint; iOSHandle := WindowHandleToPlatform(Handle); iOSHandle.View.addSubview(FView.View); end; // Пример отрисовки красного прямоугольника procedure TForm1.DoPaint(Sender: UIView; Context: CGContextRef; const Rect: CGRect); begin CGContextSetRGBFillColor(context, 255, 0, 0, 1); CGContextFillRect(context, CGRectMake(20, 20, 100, 100)); end; В итоге получаем встроенное представление в форму, с отрисованным красным квадратом: Демо проект: iOS_Draw_Rect.zip Подробности отрисовки: Введение в Core Graphics на iOS
-
Завел багу на девелопера в трекере. TBitmapListAnimation вам тут точно не помощник.
- 1 ответ
-
- TMediaPlayerControl
- TTabControl
-
(и ещё 1 )
C тегом:
-
Добрый день, Нет, такого аниматора нету. Я постараюсь добавить его в следующую версию FGX для XE8
- 2 ответа
-
- TRectAnimation
- TSubImage
-
(и ещё 1 )
C тегом:
-
Добрый день, Какая платформа интересует?
-
Поддержка есть, но только для C-Lang основных компиляторов C++11 Features Supported by RAD Studio Clang-based C++ Compilers Clang-based C++ Compilers
-
Стандартный TCube не позволяет этого. Он использует одну текстуру для всех граней. Вы можете сделать модель, которая будет строить куб из 6 плоскостей с разными текстурами. Как вариант. Еще можно просто повесить обработчик на событие OnRender и там выполнить вручную отрисовку куба с вашими текстурами.
-
Отредактировать стиль по умолчанию для эдита и из стиля удалить стилевой объект "Background" 1. В контекстном меню эдита выбирает Edit Default Style или Edit Custom Style для создания отдельного стиля без замены стандартного: 2. Удаляем в стиле editstyle объект background (Для удаления нужно нажать кнопку в тулбаре окна Structure): 3. Получаем результат:
-
Ваша ошибка в том, что вы используете не тот список. Вы используете TList, который не удаляет свои элементы в момент разрушения списка. Поэтому ваша утечка - это не распущенные экземпляры TSurvey. Вместо этого нужно использовать TObjectList, который при установке ownsObjects = True, удаляем свои элементы. Итого, код создания списка должен быть таким: function GetList: IList<TSurvey>; var list : IList<TSurvey>; i : Integer; item : TSurvey; begin list := TCollections.CreateObjectList<TSurvey>(True); // <-- !!! for i := 0 to 10 do begin item := TSurvey.Create (); item.Id := Random(100); item.Name := I.ToString; list.Add ( item ); end; Result := list; end; Можно поиграться с проектом в Windows MemoryLeak.zip