My environment : delphi 10.2.1 , DA: 9.3.105.1337
Firebird: 2.5.7, Driver: FireDAC
When I connect to a Database , it keep reporting user name or password wrong.
But I confirm I can connect to the FB using ibexpert tools.( I did not install interbase server)
I attached the message at the bottom.
Please advise what is the problem.
For Andriod Firemonkey client project(created by the DA wizard), I try open a table with double precision type field, It show address violation. But In Windows 32 platform it wont.
for the double precision case on firemoney, I need check again and make sample to you. I will send later.
for the firedac firebird cannot login case, I install old version RemObjects Data Abstract_9.2.103.1311, It can connect firebird
but I install new version RemObjects Data Abstract_9.3.105.1337. It cant connect.
Also if I change not use fireDAC , use DBX. it can login firebird but I retreive the table field it show error " cannot obtain meta, specifty target table.
Please find the attached for reference and please advise.
my windows is win7 home premium sp1, sim language, delphi 10.2
For the double precision case I confirmed the case:
just create a table with 2 or more double precision field , when you open the table in firemonkey android apk.
it show address violation. If only one double precision field, it can run correctly.
I attached the sample server and client project source with the sample firebird DB in 2.5
CREATE TABLE TEST_TBL (
STR1 VARCHAR(20),
FLOAT1 DOUBLE PRECISION
); << this work
CREATE TABLE TEST2_TBL (
STR1 VARCHAR(20),
FLOAT1 DOUBLE PRECISION,
FLOAT2 DOUBLE PRECISION
);
<< this not work.
even I create a view on test2_tbl only select 1 double precision field:
CREATE OR ALTER VIEW TEST2_VIEW(
STR1,
FLOAT1)
AS
SELECT STR1, FLOAT1 FROM TEST2_TBL
;
can you attach your source and the binary for server and apk with edit box for input server IP for client to make connection?
I find that my server source attached is not correct as I forget to save the project before upload.
also my version is RemObjects Data Abstract_9.2.103.1311.
check that your phone is fully supported.
according to Android Devices Supported for Application Development article, Delphi Tokyo supports only ARM Cortex-A series CPU so ARM Cortex-M, ARM Cortex-R and SecurCore may not work correctly.
also try to create testcase that has 2 double fields but not use RO/DA and test it on your physical phone.
datCurrency is a fixed-point data type that minimizes rounding errors in monetary calculations (-922337203685477.5807 .. 922337203685477.5807) datFloat uses Double for storing data (2.23e-308 .. 1.79e+308)
Edit: can you perform additional tests, pls?
create “empty” OnReadFieldValue event in TDABin2DataStreamer (client-side) like
procedure TClientDataModule.DataStreamerReadFieldValue(const aField: TDAField;
var Value: Variant);
begin
//
end;
it will decrease performance, but probably solve your original issue