Error running Multi Device App on Android platform using TFDLocalSQL of Delphi Community Version

  

I am setting up a TLocalSQL for my multi device app. I understand this component is using SQLite as backend while having my MySQL database sitting on server remotely.

On my datamodule I have setup the following:

TFDGUIxWaitCursor

TFDConnection — for MySQL server connection
TFDPhysMySQLDriverLink — MySQL driver
TFDQuery — MySQL table query

TFDConnection — for my LocalSQL (SQLite backend)
TFDPhysMySQLDriverLink — SQLite driver
TFDLocalSQL — my LocalSQL to handle embedded database of my app with dataset TFDQuery above
TFDQuery — my LocalSQL query

My data module RME:

unit Unit10;

interface

uses
System.SysUtils, System.Classes, FireDAC.Stan.Intf, FireDAC.Stan.Option,
FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MySQL,
FireDAC.Phys.MySQLDef, FireDAC.FMXUI.Wait, FireDAC.Stan.Param, FireDAC.DatS,
FireDAC.DApt.Intf, FireDAC.DApt, Data.DB, FireDAC.Stan.ExprFuncs,
FireDAC.Phys.SQLiteDef, FireDAC.Phys.SQLite, Datasnap.DBClient,
Datasnap.Provider, FireDAC.Comp.Client, FireDAC.Phys.SQLiteVDataSet,
FireDAC.Comp.DataSet, FireDAC.Comp.UI;

type
TDataModule10 = class(TDataModule)
con1: TFDConnection;
dvr1: TFDPhysMySQLDriverLink;
cur1: TFDGUIxWaitCursor;
qry1: TFDQuery;
loc1: TFDLocalSQL;
dvr2: TFDPhysSQLiteDriverLink;
con2: TFDConnection;
qry2: TFDQuery;
dsp1: TDataSetProvider;
cds1: TClientDataSet;
private
{ Private declarations }
public
{ Public declarations }
end;

var
DataModule10: TDataModule10;

implementation

{%CLASSGROUP ‘FMX.Controls.TControl’}

{$R *.dfm}

end.

Now, on my main form (below RME) where my TListView is sitting connects the TFDQuery of my TFDLocalSQL.

unit Unit9;

interface

uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.ListView.Types, FMX.ListView.Appearances, FMX.ListView.Adapters.Base,
System.Rtti, System.Bindings.Outputs, Fmx.Bind.Editors, Data.Bind.EngExt,
Fmx.Bind.DBEngExt, Data.Bind.Components, Data.Bind.DBScope, FMX.ListView;

type
TForm9 = class(TForm)
lsv1: TListView;
bdr1: TBindSourceDB;
bdl1: TBindingsList;
lcf1: TLinkListControlToField;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form9: TForm9;

implementation

uses
Unit10;

{$R *.fmx}

end.

I ran it in Windows 64-bit platform without any issue.

But when I tried it on my Android device platform, I am getting the following error:

[DCC Fatal Error] dm_u.pas(10): F2613 Unit ‘FireDAC.Phys.MySQL’ not found.

I am a bit confused because this is the purpose of TFDLocalSQL. It should handle different sources of data, be it coming from different servers, xml, etc and embed it in your application using the SQLite database.

I hope my level of understanding got it right.

Now, I am stuck on how to get around with the error. I cannot change the driver because my source data is actually from MySQL.

Can anybody enlighten me more about TFDLocalSQL. It is my first time to use it and it serves well with my purpose. Am I missing something?

Comments are closed.