-
Постов
419 -
Зарегистрирован
-
Посещение
-
Победитель дней
37
Весь контент Barbanel
-
1) Было что-то не так со стилем. Удалил из стилей все элементы, кроме двух простейших прямоугольников для background. После этого ошибка более не проявлялась. 2) Убедился что стиль для андроида доступен на устройстве, и нужные объекты присутствуют. Действительно, под Андроид данный код не работает, и стили здесь ни при чем. Что характерно, форма не обновляется, если ей присвоить новый стиль в рантайме. Внешний вид формы остается прежним. Если вместо формы использовать например панель - стиль меняется. Изменить цвет заливки конкретно в ресурсе у меня не удалось. Это работает стандартным образом: AObject := Panel1.FindStyleResource('backgroundrect'); if (AObject is TRectangle) then TRectangle(AObject).Fill.Color := TAlphaColorRec.Yellow; Если позарез нужно менять стиль формы в рантайме - положите на нее панель с align=alClient, и меняйте стиль панели. Попробуйте, может вас устроит такой способ. И да, расскажите, для чего вы меняете цвет именно в ресурсе, а не в примененном стиле объекта. Мне правда интересен такой кейс.
-
Проверил у себя. Действительно, вылезла похожая ошибка. Понятия не имею что это такое, разбираться лень) Удалил стиль для андроида. Еще раз его загрузил. Все ок. Проверил на устройстве - все ок.
-
Покажите нормально ошибку, тут же ничерта не видно.
-
Попробуйте. У меня это не работает.
-
Верно, нету. Поэтому студия считает что стиль дефолтный и только (если не ошибаюсь) для Виндовс. -сделайте копию проекта (на всякий), -откройте редактор стилей -удалите оттуда все стили -добавьте два стиля из архива В результате у вас должно появиться по одному стилю для Виндовс и Андроид. Стурктура в них одинаковая, различаются они лишь объектом TStyleDescription. Откройте стиль в блокноте и увидите сами. Попробуйте запустить программу под андроидом, должно заработать. PS у меня были случаи когда этот объект исчезал при сохранении стиля в файл. В таком случае я открываю стиль в блокноте, вставляю этот объект ручками и потом снова загружаю этот стиль. mystyles.zip
-
Обычно после изменений и закрытия редактора студия спрашивает, принять ли сделанные изменения. Ессно нужно нажимать "да" ?
-
Я так и думал. то что он один - не означает что он для всех платформ. ЕМНИП, дефолтный стиль предназначен для Виндовс. Давайте в этом точно разберемся. Сохраните стиль в файл, при сохранении выберите расширение файла .style Откройте этот файл текстовым редактором. Найдите в нем блок "object TStyleDescription" Покажите что стоит в поле "PlatformTarget" и "MobilePlatform". Или покажите весь блок.
-
Не меет значения, сколько приложений. Далеко не факт что это так. Внутри StyleBook есть стили для разных платформ. Это может быть по одному стилю для каждой платформы, один стиль для нескольких платформ или даже всех сразу, может также быть что стиль для какой-то отдельной платформы вообще отсутствует. Какой из этих случаев у вас? Откройте редактор стилей, переключитесь на стиль для Андроид и сравните структуру со стилем для Виндовс. Если они действительно одинаковы, покажите скриншоты и будем думать дальше.
-
Возможно это не работает потому, что для Андроида у вас нет стиля, либо он называется не так, либо в данном стиле нет нет элемента с именем 'BackgroundColor'. Проверьте стили и убедитесь что структура имен совпадает.
-
Странно конечно, zj не имея исходников мне лично сложно сказать. Я бы посмотрел в стилях, что там за объекты используются. По сути, от Parent вам нужны лишь размеры. Попробуйте так: if (Parent is TControl) then begin Self.Width := (Parent as TControl).Width - Self.ParentControl.Padding.Right; Self.Height := (Parent as TControl).Height - Self.ParentControl.Padding.Bottom; end else begin Self.Width:=Self.ParentControl.Width-Self.ParentControl.Padding.Right; Self.Height:=Self.ParentControl.Height-Self.ParentControl.Padding.Bottom; end;
-
В свойствах проекта, пункте "разрешения" это разрешение выставлено? Или вы вписали его ручками в шаблон манифеста? Если ручками, то могло статься что шаблон переписывается студией и ваша строка не попадает в результирующий манифест. Как вариант, создаейте apk, откройте его как обычный zip архив, найдите в нем манифест и проверьте, выставлено ли это разрешение. Будем думать что дальше.
-
Хнык... А нам покажете? ???
-
Имхо - норм. Оперативки там всюду одинаково, этож эппл, "мы лучше знаем что вы хотите"))) Обратите внимание чтобы порт был живой и данные через шнур передавались. Тач желательно чтобы был полностью жив. 5s - это минимум на сегодня, разрабатывать и тестить на нем можно без проблем, но может статься что его поддержка закончится. Имхо, если разница в цене не сильно велика, посмотрите в сторону шестерки.
-
Правильно ли я понимаю: вы пишете некое приложение, которое показывает пользователю веб-ссылку в уведомлении? Имхо: нельзя переходить на внешний ресурс, тапнув на ссылку в уведомлении. Всегда сначала нужно показать вашу программу, при этом в зависимости от логики программы - показать что именно пришло (чтобы пользователь мог понять полезное ли для него это сообщение), и только потом давать возможность переходить по внешним ссылкам.
-
А если серьезно, то вам посоветовали выше, вы хоть пробовали? Мы используем такой же подход, файл загружается в нашем случае браузером по умолчанию - хромом. В вашем случае - что выбрано в системе, тем и загрузится.
-
TDispetcherZagruzki.Use(SsylkaToFile);
-
Повторюсь: Ошибка возникает на какой строке?
-
Ошибка "Type mismatch" означает несоответствие типов. Либо фильтр неправильно настроен, либо поле имеет другой тип. Если поле всетаки строковое - посмотрите тип поля (String/WideString) и кодировку, если указана. Посмотрите также, что возвращает источник данных (query или что у вас источником является) по по этому полю. PS еще можно писать так: Child.Filter := 'CHILDFAM=' + s.QuotedString;