You are not logged in.
Pages: 1
Sorry, just found the cause of an error!
I used source from Release 64 date Oct 16, which different from latest commit (2.3.8998).
in ''mormot.db.raw.sqlite3.static.pas' a condition {$endif CPU32} was move to exclude 'memchr'.
I successfully created both x86/x64 runtime package for 2.3.8998 (not Release 64 statble date Oct 16). using .dpk file posted in GIST above.
Thank you for your grateful supporting.
Yes, in package option > Delphi Compiler > Output - C/C++ > C/C++ Output File Generation is set to "Generate DCU onlys".
I just created gist for my .dpk file.
https://gist.github.com/ThepSamart/4428 … b7390b61ec
This .dpk file was successfully created both x86 / x64 .bpl for mORMot 2.2 but fail for mORMot 2.3 x64 only (success for x86).
What about 'memchr' conflict in 'mormot.db.raw.sqlite3.static.pas' and 'mormot.lib.static.pas'
Tried to create .bpl runtime for mORMot 2.3 stable, x86 (32 bit) is fined but x64 (64 bit) is failed.
return message is:
[dcc64 Error] mormot.db.raw.sqlite3.static.pas(1324): E2065 Unsatisfied forward or external declaration: 'memchr'
Using Delphi 10.2.3 update 3
I used .dpr from mORMot 2.2 which can built both x86, x64 with successfully.
Any suggession, please
Edit:
Just dig into source code, mormot.db.raw.sqlite3.static.pas has 'memchr' function (just add in 2.3), which also resided in mormot.lib.static.pas with different declaration.
Hi,
The latest release on GitHub (commit 4222) is working as expected.
Thank You and Regards.
Sorry for the code provided, it's for testing only.
I use Delphi 10.2.3 Tokyo.
Could you examine code in mormot.db.proxy or trace back thru ToDataset() function.
constructor TSqlDBProxyStatementRandomAccess.Create(Data: PByte; DataLen: integer;
DataRowPosition: PCardinalDynArray; IgnoreColumnDataSize: boolean);
var
i, f: PtrInt;
reader: PByte;
begin
fLastGotoRow := -1;
inherited Create(nil);
InternalHeaderProcess(Data, DataLen);
The constructor inherited Create(nil) that passed thru
constructor TSqlDBStatementWithParamsAndColumns.Create(
aConnection: TSqlDBConnection);
so aConnection was passed as nil. This could be the cause.
I got access violation using latest release mORMot2-2.0.4148.
An exception are in TSqlDBProxyStatementRandomAccess.Create() and TSqlDBStatementWithParamsAndColumns.Create().
TSqlDBProxyStatementRandomAccess.Create() passed aConnection as nil to TSqlDBStatementWithParamsAndColumns.Create(), so testing for aConnection will raise error.
This is not occurred in previous release mORMot2-2.0.3780.
code: Reproducible Example
Pages: 1