x11 Опубликовано 13 января, 2018 Поделиться Опубликовано 13 января, 2018 У меня есть проект на Delphi Berlin (мультиплатформенное приложение), где используются дополнительные стили. Но как я их вставил в проект не могу понять. В проекте нет StyleBook, но я вижу справа в менеджере проекта эти стили. Их что, нужно каждый отдельный через Deploymet добавлять в проект? Я не помню, как в старом проекте добавлял. Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 13 января, 2018 Поделиться Опубликовано 13 января, 2018 4 часа назад, x11 сказал: Их что, нужно каждый отдельный через Deploymet добавлять в проект? А это уже на Ваше усмотрение. Есть 2 возможности применения стилей - через StyleBook на главной форме и пользуясь методами TStyleManager, загружая стили из ресурсов. Судя по всему у Вас используется второй метод. Просто поищите по всем файлам проекта (Ctrl+Shift+F) строку "TStyleManager." - я думаю Вы найдёте где применяется стиль. Цитата Ссылка на комментарий
0 x11 Опубликовано 14 января, 2018 Автор Поделиться Опубликовано 14 января, 2018 10 часов назад, dnekrasov сказал: Просто поищите по всем файлам проекта (Ctrl+Shift+F) строку "TStyleManager." искал - отсутствует Цитата Ссылка на комментарий
0 x11 Опубликовано 14 января, 2018 Автор Поделиться Опубликовано 14 января, 2018 10 часов назад, dnekrasov сказал: я думаю Вы найдёте где применяется стиль. только в коде: procedure TdmRepo.SetStyle; var aPlatformStyle, sStyle: String; aStyle: TFMXObject; begin aStyle := nil; if not dm.UniConnection1.Connected then try dm.UniConnection1.Connect; except on e:exception do begin ShowMessage('Ошибка подключения к базе: ' + sLineBreak + e.Message); exit; end; end;// try sStyle := dm.GetOption2Param(AppStyleParamName);// название стиля берем из базы if sStyle = 'Default' then begin sStyle := ''; exit; end; //если выбираем из ресурсов if sStyle <> '' then begin aPlatformStyle := constPlatform[TOSVersion.Platform] + sStyle; aStyle := TStyleStreaming.LoadFromResource(HInstance, aPlatformStyle, RT_RCDATA); aStyle.StyleName := sStyle; if not assigned(aStyle) then begin ShowMessage('Стиль не найден: ' + aPlatformStyle); exit; end; end;// if comboStyles.ItemIndex > 0 then TStyleManager.SetStyle(aStyle); end; Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 14 января, 2018 Поделиться Опубликовано 14 января, 2018 13 минуты назад, x11 сказал: только в коде: Судя по коду - у Вас стиль в базе хранится (хотя тоже под вопросом - что такое dm, dm.UniConnection1, AppStyleParamName и что делает dm.GetOption2Param). Если так - то как они туда попадают? Так что не зная логики проекта или не видя исходники - трудно сказать. А само применение стиля - это последняя строчка - TStyleManager.SetStyle(aStyle) Цитата Ссылка на комментарий
0 x11 Опубликовано 14 января, 2018 Автор Поделиться Опубликовано 14 января, 2018 12 минуты назад, dnekrasov сказал: Судя по коду - у Вас стиль в базе хранится Вы так и не понял. Не стиль, а название стиля. Цитата Ссылка на комментарий
0 x11 Опубликовано 14 января, 2018 Автор Поделиться Опубликовано 14 января, 2018 12 минуты назад, dnekrasov сказал: А само применение стиля Да я знаю, как применяется стиль. Вы вопрос, судя по всему, не поняли. Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 14 января, 2018 Поделиться Опубликовано 14 января, 2018 3 минуты назад, x11 сказал: Да я знаю, как применяется стиль. Вы вопрос, судя по всему, не поняли. Теперь понял 16 часов назад, x11 сказал: Их что, нужно каждый отдельный через Deploymet добавлять в проект? Не через Deploymet, а через пункт меню Project->Resources and Images Цитата Ссылка на комментарий
0 x11 Опубликовано 14 января, 2018 Автор Поделиться Опубликовано 14 января, 2018 А кто заполняет колонку Identifier так правильно? Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 14 января, 2018 Поделиться Опубликовано 14 января, 2018 (изменено) 15 минут назад, x11 сказал: А кто заполняет колонку Identifier так правильно? Ручками в поле "Resource identifier" 16 часов назад, x11 сказал: Но как я их вставил в проект не могу понять. Если Вы вставляли - то Вы и заполняли Изменено 14 января, 2018 пользователем dnekrasov Цитата Ссылка на комментарий
0 x11 Опубликовано 14 января, 2018 Автор Поделиться Опубликовано 14 января, 2018 41 минуту назад, dnekrasov сказал: Ручками в поле "Resource identifier" а Вы пробовали? Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 14 января, 2018 Поделиться Опубликовано 14 января, 2018 28 минут назад, x11 сказал: а Вы пробовали? вот скрин из моего проекта Цитата Ссылка на комментарий
0 x11 Опубликовано 15 января, 2018 Автор Поделиться Опубликовано 15 января, 2018 Странно, не помню я, чтобы вводил имена сталей. Справа нужно вводить? Спасибо, попробую. Цитата Ссылка на комментарий
0 x11 Опубликовано 18 января, 2018 Автор Поделиться Опубликовано 18 января, 2018 В общем, я: 1. Скопировал стили в папку проекта в styles. 2. Открыл файл *.dproj и заменил там старый путь к стилям на новый, чтобы получилось такое: "<RcItem Include="styles\Android\AndroidCopperDark.style">" Цитата Ссылка на комментарий
Вопрос
x11
У меня есть проект на Delphi Berlin (мультиплатформенное приложение), где используются дополнительные стили.
Но как я их вставил в проект не могу понять.
В проекте нет StyleBook, но я вижу справа в менеджере проекта эти стили.
Их что, нужно каждый отдельный через Deploymet добавлять в проект?
Я не помню, как в старом проекте добавлял.
Ссылка на комментарий
13 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.