sn_nn
-
Постов
9 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Сообщения, опубликованные sn_nn
-
-
у меня подобный код не прокатил. объясню почему. у меня не одна была форма и формы грузились долго не из за кода в OnCreate а из за большого количества контролов на формах. все мои 5 форм грузились около 7 секунд. а основная форма которая шла первой и на которой должна была быть картинка не прорисовывалась пока все формы не загрузятся. то есть был белый экран без прорисованных компонентов. потом белый экран убирался и появлялась моя основная форма. смысла в таком сплеше я не увидел.
Если основная форма загружает большую базу данных, содержит кучу контролов и грузится 30 сек. и более - то только так. в NavitelNavigator, например, размер карт большой и там, примерно, то же самое.
-
Все зависит от того, насколько нужно ваше приложение пользователю
-
Можно конечно, делал, правда в XE8. Объясню на примере своего приложения:
В проекте 2 формы: frmSplash и frmMain. frmSplash в свойствах проекта ставим как Main form. Там же, обоим формам устанавливаем Avto create.
frmSplash содержит картинку и прогресс бар, отображающий ход загрузки frmMain.
В самой frmSplash никакого особого кода не пишем.
Для frmMain ставим свойство Visible в False в ObjectInspector.
В frmMain в процедуре FormCreate пишем:
код....
frmSplash.pbLoad.Value:=15;Application.ProcessMessages; //Меняем значение индикатора в форме заставки
код...
frmSplash.pbLoad.Value:=20; Application.ProcessMessages; //Меняем значение индикатора в форме заставки
код...
frmSplash.pbLoad.Value:=100;Application.ProcessMessages; //Загрузка закончилась frmMain.Visible:=True;
Самое главное, чтоб frmSplash не была перегружена контролами и появилась практически сразу, после исчезновения стандартной загрузочной картинки.Если же, ваша главная форма грузится ну очень долго и экран блокируется (гаснет) раньше, чем исчезнет заставка - то нужно отключить блокировку экрана в файле проекта, например:
program VisAcu; uses System.StartUpCopy, FMX.Forms, {$IF DEFINED(ANDROID)} Androidapi.Helpers, FMX.MobilePreview, Androidapi.JNI.GraphicsContentViewText, {$ENDIF } untAstro in 'untAstro.pas', untSplash in 'untSplash.pas', {frmSplash} untMain in 'untMain.pas'; {frmMain} {$R *.res} begin Application.Initialize; //Управление подсветкой {$IF DEFINED(ANDROID)} SharedActivity.getWindow.addFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON); {$ENDIF} Application.CreateForm(TfrmSplash, frmSplash); Application.CreateForm(TfrmMain, frmMain); Application.Run; end.
В итоге: появляется картинка стандартной заставки, потом Ваш сплэш-скрин, в котором неторопливо ползет прогресс бар загрузки основной формы...
-
В Remote path Указал «.\assets\internal\».
В коде (Delphi XE6) сделал так:
var DBPath: string; begin {$IF DEFINED(iOS) or DEFINED(ANDROID)} DBPath := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetDocumentsPath, 'Location.s3db'); {$ENDIF} fdCon.ConnectionString:= 'DriverID=SQLite;Database='+DBPath+';StringFormat=Unicode;LockingMode=Normal'; fdCon.Connected:=True; fdCon.GetTableNames('' , '', '', ListBox1.Items, [osMy, osOther], [tkTable, tkView]);
Все получилось, спасибо!
-
Есть заготовка проекта под Андроид, которая должна открывать базу данных SQLite. Планируется разместить базу данных в той же папке, где и сама программа. Подскажите, пожалуйста, как правильно указать путь к базе данных ? Какие еще варианты размещения базы данных предпочтительны, и, как задать при этом путь в Deployment менеджере?
P.S.: использовал такую строку подключения:
fdCon.ConnectionString := 'DriverID=SQLite;Database=$(Run)\Location.s3db;StringFormat=Unicode;LockingMode=Normal';
в Виндовс все работает, а в Андроид ошибка! (Remote path в Андроид ставил ".\")
-
-
Спасибо, попробовал следующее:
Добавил в uses: System.DateUtils;
далее, при нажатии на кнопку обрабатывается следующий код:button1.Text:= VarToStr(TTimeZone.Local.GetUtcOffset(StrToTime('17:53')));
Далее выставлял в настройках системы часовой пояс:
Кабул - UTC+4:30, выдает 04:30:00
Ташкент - UTC+5:00 выдает 05:00:00
А если выставить пояс Москвы - UTC+4, то выдает: 03:00:00
(Операционная система Windows7x64, компилировал под Win32, XE6)
В чем причина - не пойму, подскажите кто знает....
-
Как в Delphi получить значение установленного часового пояса из-под FireMonkey, причем желательно не только для Андроид?
Есть ли какие-то универсальные функции для этого?
TModel - загрузка моделей из TStream
в 3D
Опубликовано
Может быть есть какие-нибудь 3D движки для FMX, которые могут это сделать (типа JPCT_AE)?