sn_nn
Пользователи-
Постов
9 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Весь контент sn_nn
-
Может быть есть какие-нибудь 3D движки для FMX, которые могут это сделать (типа JPCT_AE)?
- 1 ответ
-
- TModel
- LoadFormStream
-
(и ещё 1 )
C тегом:
-
Можно конечно, делал, правда в 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) В чем причина - не пойму, подскажите кто знает....