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

enatechno

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

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

  • Посещение

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

    26

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

  1. enatechno

    libmidas.dylib для iOS

    libmidas.dylib - это только для IOS-симулятора. Для реальных iOS устройств нужно деплоить libmidas.a: C:\Program Files (x86)\Embarcadero\Studio\<версия RAD>\lib\iosDevice64\release\libmidas.a C:\Program Files (x86)\Embarcadero\Studio\<версия RAD>\lib\iosDevice32\release\libmidas.a http://docwiki.embarcadero.com/RADStudio/Berlin/en/DbExpress_Supported_Database_Management_Systems
  2. enatechno

    TPopup и TEdit

    Суть второго метода в том, что вы делаете недоступными все контролы на форме, накрывая их полупрозрачным (или даже прозрачным) TRectangle (который Align=Contents) и Вам будут доступны только контролы лежащие на втором (непрозрачном) Rectangle. В событии OnClick полупрозрачного Rectangle делаете скрытие всего этого "модального окна". Т.е. если кликните за пределами непрозрачного TRectangle, то окно "закроется" вместе с полупрозрачным/прозрачным фоном. Тут есть похожая реализация, за исключением, что окно закрывается при нажатии на кнопку Cancel. Дополнительно, закрытие окна можно сделать при нажатии на "физичеcкую" кнопку Back в Android.
  3. 1). Задайте для GridPanelLayout выравнивание Top. 2). Для всех строк TGridPanelLayout.TRowItem, добавляемых в RowCollection, задайте свойство SizeStyle - Absolute и значение Value отличное от 0.
  4. Ваш пример работает нормально на 10 Seattle. На Берлине действительно AV. Похоже ошибка в исходниках: function TMenuItem.HasOffsetOfGlyph: Boolean; begin Result := (FGlyph <> nil) and FGlyph.BitmapExists and not FGlyphObject.IsChild(FGlyph); end; здесь FGlyphObject = nil. Либо надо править исходники, либо ждать что скажет @RoschinSpb
  5. Я так понимаю, Вы имели ввиду FindAndCloneStyleResource? Этот метод не возвращает копию стиля. Он возвращает копию объекта(элемента) стиля. Например, если Вы хотите напрямую изменить элемент стиля (например цвет фона кнопки), то делаете: AObject := Button1.FindStyleResource('background'); if (AObject is TRectangle) then TRectangle(AObject).Fill.Color := TAlphaColorRec.Aqua; И Button1 изменит цвет. Но, если после этого сделать Layout1.AddObject(AObject); то кнопка Button1 не будет больше иметь элемент 'background', родителем этого объекта станет Layout1. Что касается AObject := Button1.FindStyleResource('background', True); if AObject <> nil then Layout1.AddObject(AObject); или if Button1.FindAndCloneStyleResource('background', AObject) then Layout1.AddObject(AObject); то вы просто создаете новый объект AObject типа TRectangle со всеми свойствами как у стилевого элемента 'background', за исключением StyleName (у вновь созданного AObject будет StyleName = ''). В нашем примере этот новый объект (TRectangle) будет помещен на Layout1. При этом 'background' кнопки не изменится.
  6. Не помню где узнал, но найти можно где угодно. Например тут.
  7. В папке C:\Users\Public\Documents\Embarcadero\Studio\<версия>\Styles лежат файлы стилей. Вам надо смотреть в этой папке файлы *.style. Загрузите любой из них в StyleBook. Обычно стиль контрола имеет название <имя класса без Т>+'style'. Например editstyle, buttonstyle. Но есть и исключения из правил, как например <menu...>, но их тоже не сложно найти. Прямо в StyleBook вы можете менять параметры объектов стиля и смотреть, как они влияют на внешний вид контролов. И кстати, если делаете кроссплатформенный проект, учтите что TPopupMenu используется только в десктопных приложениях.
  8. Не могу проверить пример, т.к не программирую на c++
  9. Не совсем понятно, что Вы хотите получить в итоге. Вы можете просто поместить объект TEdit со стилем 'editstyle' (или любым другим) внутрь кнопки: Edit1 := TEdit.Create(Button1); Edit1.Align := TAlignLayout.Center; Button1.AddObject(Edit1);
  10. Стиль не "вставляется", а "применяется". Button1.StyleLookup := 'имя стиля';
  11. 1). Если в design-time: Задайте для ImageViewer: Align - None, Anchors - [akTop,akRight] и разместите ImageViewer на нужном месте (с необходимыми отступами). 2). Если не ошибаюсь, то нет свойства позволяющего сделать объект постоянно поверх все компонентов, поэтому рекомендую при добавлении компонентов перекрывающих ImageViewer делать ImageViewer.BringToFront; 3). Пропорционально относительно чего? Если пропорционально размера формы, то самостоятельно пересчитывайте размер ImageViewer в TForm.OnResize 4). Если речь идет о TPanel, то это стилевой объект и его цвет меняется через стиль. Более простой вариант - в качестве "панелек" использовать "не стилевой" TRecangle. Цвет TRectanle можете задать и в design-time и runtime (Rectangle1.Fill.Color := TAlphaColorRec.White) И кстати, почему ImageViewer? Может TImage будет достаточно?
  12. Хорошая идея. Я бы еще дополнительно изменил яркость/контрастность основной картинки с помощью TGloomEffect (или TBloomEffect). Есть неплохое демо, в котором можно поэкспериментировать с настройками эффектов: C:\Users\Public\Documents\Embarcadero\Studio\<версия>\Samples\Object Pascal\Multi-Device Samples\User Interface\ShaderFilters
  13. 1). Какое значение у qr2.CachedUpdates? 2). Как используются транзакции?
  14. Result у Вас какого типа? Попробуйте без него: xml_result:=HTTPGet('https://geocode-maps.yandex.ru/1.x/?geocode='+ 'Кунгур'+ ',+' +street+ '+улица,+дом+'+ house);
  15. К сожалению тут не многие пишут на с++ для IOS. Трудно гадать, в чем у Вас проблема. Варианты могут быть разные... (Как вариант: русская буква 'х' в названии файла). Приложите демонстрационный проект. Форма + TImage и загрузка задеплоенной картинки в TImage в runtime.
  16. путь для IOS7 и более ранних: /var/mobile/Applications/<application ID> путь для IOS8 и выше /var/mobile/Containers/Data/Application/<application ID>
  17. Тут нужна золотая середина. Если фрейм на устройстве будет строится более 0.1 сек, то рекомендую использовать скрытие.
  18. 1 Вариант. Заменой удаления фреймов на скрытие (подправленный проект приложил). 2 Вариант. Расположить панель с кнопкой Back на главной форме, а не дублировать ее в каждом фрейме. (При необходимости саму кнопку Back можно скрывать при возврате на первый таб). 3 Вариант. Использовать отложенное удаление фрейма). ... и еще много разных вариантов. Click; FPressed := False; StartTriggerAnimation(Self, 'Pressed') Отладчик выдал ошибку в методе объекта TControl (в Вашем случае это кнопка SpeedButton1 на фрейме). В этом методе в Click вы удаляете Frame, а значит и кнопку на ней. А в строке StartTriggerAnimation(Self, 'Pressed'); вы обращаетесь к этой удаленной кнопке (Self). Здесь и происходит AV. test2.zip
  19. 1). Я так понимаю эта строка в модуле фрейма? Похоже на циклическую ссылку. Uses в модуле фрейма ссылается на Form1, а Form1 ссылается на модуль фрейма? 2). Вы создаете фрейм каждый раз при открытии TabItem2? Много ли контролов на фрейме? Создание фрейма с контролами в рантайм на андроиде - затратная по времени операция. Если программа использует не много фреймов, то я бы не создавал/удалял каждый раз фрейм при смене таба, а использовал фрейм созданный один раз. Это улучшит отзывчивость программы. Ну а причина зависания - то, что вы в процедуре обработчика кнопки фрейма OnClick вызываете TForm1.TabControl1Change и там удаляете этот фрейм и саму кнопку.
  20. Да. constructor Create(AOwner: TComponent); override;
  21. enatechno

    FDQuery & LocalUpdate

    FDQuery1.CachedUpdates := True; подробнее тут
  22. Полностью согласен. panelstyle - это и есть только один TRectangle. StyleEditor не позволяет его сделать Visible=false. Но можно менять Opacity. Если нужна невидимая панель, то лучше использовать обычный TLayout, который вообще не использует стиль. Работа с background в TGroupbox зависит от платформы. Посмотрите в редакторе стилей на дефолтный groupboxstyle: - для платформы Windows: текст, используемый для заголовка группы, расположен на объекте background. Если Вы будете менять видимость или прозрачность background, то текст тоже будет невидимым/прозрачным. - для платформы Android: текст расположен на отдельном layout. В этом случае изменение видимости/прозрачности background не влияет на отображение текста заголовка.
×
×
  • Создать...