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

flexit

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

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

  • Посещение

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

  1. Я тоже начинал с таких примеров и понимаю, что это штатный вариант. Но у меня он не проходит, и думаю, что кривизна рук тут не при чем. На форме у TFDConnection драйвер у меня тоже указан. Но если я напишу в ConnectionString='Database='+DBPath, то TFDConnection не понимает, какой драйвер нужно использовать. Ну а Params.Values['DriverID']:='SQLite' можно писать, или не писать - все равно в этом варианте при компиляции под Андроид возникает ошибка при попытке коннекта.
  2. Все же я вернулся к TFDConnection и выяснил следующее. Перед установкой соединения при компиляции под Windows можно написать: FDConnection1.Params.Values['DriverID']:='SQLite'; FDConnection1.Params.Values['Database']:= DBPath; или FDConnection1.ConnectionString:='DriverID=SQLite;Database='+DBPath; Проблем не будет в обоих случаях. А вот под Андроид первый вариант выдает ошибку [FireDAC][stan][Def]-254. Definition [baseName] is not found in [], а второй - успешно работает. P.S. Только начал изучать разработку мобильных приложений в Delphi, но подобные 'милые особенности' на каждом шагу уже успели изрядно утомить.
  3. Попробовал использовать компонент TSqlConnection вместо TFDConnection c тем же самым кодом - ошибки при соединении не происходит. Придется использовать dbExpess вместо FireDAC. И все же интересно, в чем же может быть проблема при работе с компонентом TFDConnection. Есть какие-нибудь идеи?
  4. Так я тоже пробовал и с тем же результатом. Изначально в Deloyment указывал .\assets\internal и использовал функцию GetDocumentsPath. Потом попробовал указывать в Deloyment .\assets в качестве RemotePath и использовать функцию GetSharedDocumentsPath. В результате TFile.Exists показывает в обоих случаях, что файл базы присутствует, но ошибка все равно возникает. TPath.Combine я тоже использовал.
  5. Здравствуйте! Для создания соединения использую TFDConnection. Под Windows проблем нет, на планшете под Андроидом возникает ошибка: [FireDAC][stan][Def]-254. Definition [lbase] is not found in []. Физически база на устройстве присутствует, вижу ее в файловом менеджере и в коде проверяю наличие файла с помощью TFile.Exists. Код: procedure TForm5.FDConnection1BeforeConnect(Sender: TObject); var DBPath: string; begin {$IFDEF ANDROID} DBPath:=TPath.GetSharedDocumentsPath + PathDelim + 'lbase.db'; {$ELSE} DBPath:='d:\test\lbase.db'; {$ENDIF} if TFile.Exists(DBPath) then ShowMessage('File exist') else ShowMessage('File not exist'); FDConnection1.Params.Values['Database']:= DBPath; end; procedure TForm5.Button1Click(Sender: TObject); begin FDConnection1.Connected:=true; end; TestConnect.zip
×
×
  • Создать...