#51 Re: mORMot 1 » TestSQL3.lpi build fails on GNU/Linux x64 » 2020-06-25 15:16:41

AOG

I do not expect much speed improvements at -O2.
I only expect improved hardware and os compatibility.

#53 Re: mORMot 1 » TestSQL3.lpi build fails on GNU/Linux x64 » 2020-06-25 08:24:03

AOG

Fpcupdeluxe is not needed for the standalone tools. Just download and unpack somewhere. And adjust the sqlite3 build-script to point towards the right locations.

#54 Re: mORMot 1 » TestSQL3.lpi build fails on GNU/Linux x64 » 2020-06-25 08:18:46

AOG

Hi Ab,

Just added relocatable binutils and gcc for Linux x64 meant to run on Linux x64 itself.
These utils might help you in building the static sqlite3 on Linux itself, without dependencies on glibc.

https://github.com/LongDirtyAnimAlf/fpc … nuxx64.zip

#55 Re: Free Pascal Compiler » Using Lazarus DBGrid with mORMot. » 2020-06-11 19:09:11

AOG

Project := TSQLProject.CreateAndFillPrepare(DataBase,'Place your SQL here !',s);
Is the above not suitable ?

#56 Re: Free Pascal Compiler » Using Lazarus DBGrid with mORMot. » 2020-06-11 17:46:57

AOG

Here you go.
https://github.com/LongDirtyAnimAlf/mOR … LExtra.pas
Please feel free to use and ask any question.

I will take a closer look, but AFAIK all the rest is vanilla mORMot latest of a couple of weeks ago. Compiled with FPC fixes 3.2

#57 Re: Free Pascal Compiler » Using Lazarus DBGrid with mORMot. » 2020-06-11 09:06:21

AOG

I am using the mORMot for filling DBGrids with Lazarus.
The TBufDataset is very suitable. It is used in SynDBMidasVCL.
Works very well.

ProjectDataset:=TSQLPropsToClientDataSet(Self,TSQLProject.RecordProps);
ProjectDataset.Active:=False;
ProjectDataset.Fields.Clear;
ProjectDataset.CreateDataset;
ProjectDataset.Active:=True;
DataSourceProject.DataSet:=ProjectDataset; //<----- this datasource is connected with a DBGrid
ProjectDataset.IndexFieldNames:='Code';
with TSQLProject.RecordProps do s:='ID,'+CSVFromFieldBits(FieldBitsFromExcludingCSV('Summary'));
Project := TSQLProject.CreateAndFillPrepare(DataBase,'',s);
T:=Project.FillTable;
if Assigned(T) then
begin
    ProjectDataset.DisableControls;
    ToClientDataSet(TClientDataSet(ProjectDataset),T);
    ProjectDataset.First;
    ProjectDataset.EnableControls;
end;
Project.Free;
ProjectDataset.BeforeScroll:=@DatasetBeforeScroll;
ProjectDataset.AfterScroll:=@DatasetAfterScroll;

#58 Re: mORMot 1 » 10.4 sydney issues » 2020-06-05 15:21:35

AOG

We could fork sqlite3 ... ;-)

#60 Re: mORMot 1 » The mORMot on Android » 2020-05-04 17:26:40

AOG

@emk.
This issue has been discussed more often on this list: the need for offline (but encrypted) functionality on mobile.
I would be very interested in an automagical (user transparent) scheme to have offline changes uploaded to online and an auto-switch-over from off- to on- to off- with updates and encrypted local storage.

#61 Re: mORMot 1 » The mORMot on Android » 2020-05-04 16:12:20

AOG

That is good ! Thank you !!

#62 Re: mORMot 1 » The mORMot on Android » 2020-05-04 13:43:20

AOG

Hi Ab,
I was looking at the mORMot2 code you posted above.
Regarding mORMot and testing on different platform, I would like to ask you a favor.

To get TestSQL3 running on Android, I needed to catch the output to console (STD).
Normally, Android has no (visible) console.
In mORMot1, TestSQL3, you use a text to write towards console.
I would like to ask you to make this a variable (global or setable) text to be able to catch it. Can be a file, can be a stringlist-redirect like I have used for the Android sample. That way, mORMot2 can put its TestSQL3 output (or other console output) in any text, being std by default.
Thanks, Alfred.

#63 Re: mORMot 1 » The mORMot on Android » 2020-05-03 16:33:19

AOG

This is a pure Pascal native Android app. No Java, so no easy views. That is why I used Asphyre and GLES.
With normal Java, you can create views and more easily.
But for testing, this was the most easy way to do.
For all the rest, I would advice LAMW.

#64 Re: mORMot 1 » The mORMot on Android » 2020-05-03 07:33:43

AOG

Sources are uploaded. They contain a special version of the mORMot.

https://github.com/LongDirtyAnimAlf/AsphyrePXL

Tha latest (pre-) release of fpcupdeluxe can install these sources AND perform some magic to set all path correct.

https://github.com/LongDirtyAnimAlf/fpc … tag/1.6.8o

Edit:
The module name to install/use is "mORMotPXL".

#65 Re: mORMot 1 » The mORMot on Android » 2020-04-28 18:26:51

AOG

I am a bit busy the next couple of days. But I will publish all.
In general, the LAMW framework can be used to make Android apps based on Java.
The Castle Game Engine can be used for iOS apps.
For this test however, I have used the Asphyre PXL framework.
Will update on its use.

#66 Re: mORMot 1 » The mORMot on Android » 2020-04-28 09:25:10

AOG

Uploaded universal apk. It has armv7 and arm64. This is needed for the app-store.

https://github.com/LongDirtyAnimAlf/fpc … -debug.apk

#67 Re: mORMot 1 » The mORMot on Android » 2020-04-28 06:50:42

AOG

Solved the remaining issues.
New uploaded (see link) apk now gives all greens on my phone.

Edit:
This apk was created with FPC (and Lazarus). Not a single line of java was needed. Its a pure native Android app, written in Pascal.

#68 Re: mORMot 1 » The mORMot on Android » 2020-04-27 20:16:27

AOG

On my phone, I have 76 failures. Of which 74 similar from one test.

#69 mORMot 1 » The mORMot on Android » 2020-04-27 18:58:40

AOG
Replies: 24

For anybody interested in running the mORMot on your Android phone.

https://github.com/LongDirtyAnimAlf/fpc … -debug.apk

This is TestSQL3 designed to run on Android through OpenGLES.
Its for armv7, so should run on any phone.
Enjoy. Feedback welcome as ever.

#70 Re: Free Pascal Compiler » FPC 3.2 rc1 » 2020-04-17 04:52:09

AOG

Some time ago, Maciej went through a severe personal tragedy. That has kept him away from active involvement with NewPascal.

He was also (a bit) frustrated with the amount of friction he encountered with his work for FPC.
I must agree: its hard to change anything in FPC. Bugfixes are accepted, but acceptance of (simple) changes can even take years, if ever.

But he is still around. I expect him back sooner or later.
And NewPascal is definitely on hold.

#72 Re: mORMot 1 » ORMSelectAll('Name_Last LIKE ?',[aName+'%'],(aName='')) does not work » 2020-04-12 14:52:11

AOG

But isn't this a limit to this framework? I've thought that it should be transparent to any storage? Or am I wrong?

Its not a limit. Its intentional.
It makes no sense to write a SQL engine if there are so many available out there. And sqlite3 is a perfect candidate for (static) embedding).
The TSQLRestStorageInMemory has its (dedicated) uses. If you know its limitations, you know when to use it.

#74 Re: mORMot 1 » How to put TDataModule in DLL with Lazarus » 2020-04-10 17:48:10

AOG

That is good to know. Thanks.
On Android, this is already standard.

#75 Re: mORMot 1 » SynCommons Exception Class External:SIGSEGV » 2020-04-08 10:57:15

AOG

If you are using latest trunk, you need to enable this also:
{$define FPC_PROVIDE_ATTR_TABLE}

#76 Re: mORMot 1 » How to put TDataModule in DLL with Lazarus » 2020-04-08 10:18:52

AOG

Put -Cg- in the project options.
Or try -Cg (without trailing -) also ... ;-)

#77 Re: Free Pascal Compiler » FPC 3.2 rc1 » 2020-04-05 13:50:09

AOG

Same experience here !!
Also on ARM(64) targets.

#78 Re: Free Pascal Compiler » FPC 3.2 rc1 » 2020-04-05 03:59:10

AOG

Agreed. FPC 3.2 is the way to go. If all goes well, this will be a very good and stable release.

For sure, compatibility with actual trunk MUST be guaranteed. Trunk is the future of FPC.
But I do not expect any mORMot major breaking changes going into trunk this year.

And, any working Lazarus will do.
Personally, I use Lazarus trunk, due to cocoa and QT5 updates.

#79 Re: Free Pascal Compiler » FPC 3.2 rc1 » 2020-04-03 16:57:33

AOG

Fixes builds the mORMot 100% perfect on my systems.
Regarding the client tests:
I always change the default http port from 8888 to 8848. Mainly due to 8888 often being used by other processes.

#80 Re: mORMot 1 » DDD with Blobs » 2020-04-03 12:10:54

AOG

@mpv
I agree. That is why the data is being split between the two databases with separate servers.
I have no other choice but to store documents inside the separate database. It must be transportable and local.

#81 Re: mORMot 1 » DDD with Blobs » 2020-04-03 12:08:53

AOG

Thanks for this quick fix !
FYI, I will not use batch-transfer for Blobs. The document database is a separate database, synchronized by using RemoteDataCreate.
However, the same business logic is used to access both databases. That is the reason this was a needed feature in this business case.

#82 mORMot 1 » DDD with Blobs » 2020-04-02 16:22:48

AOG
Replies: 4

Hi Ab,

For a rather big project, I have switched towards using DDD.
This project also wants to store documents, spreadsheets and photos into the [DDD] database.
However, DDD does not allow for TSQLRawBlob to be stored.

Cause (inside mORMotDDD):

soInsert: ndx := fBatch.Add(fCurrentORMInstance,true,fFactory.fAggregateID<>nil);

I would like to propose to add an option to allow for this:

soInsert: ndx := fBatch.Add(fCurrentORMInstance,true,fFactory.fAggregateID<>nil,ALL_FIELDS);

AFAIK, at this moment, TSQLRawBlob cannot be reached or handled by DDD.
I guess it cannot do harm to enable all fields for DDD.
Its the choice of the user (and me) to use TSQLRawBlob , for good reasons I hope ... ;-)

#83 Re: mORMot 1 » How to put TDataModule in DLL with Lazarus » 2020-03-29 06:22:53

AOG

Try this, perhaps it helps.
TDataModule1.CreateNew(nil);

#84 Re: mORMot 1 » Make the SynDB logging for the TSQLDBStatement descendants the same » 2020-03-22 11:37:54

AOG

Perhaps I would get rid of the high-level cache in mORMot2, and only use provider-level dedicated cache...

Perhaps a very good idea. Its hard to make good use of cache in certain scenarios.

#86 Re: mORMot 1 » Revision 2.x of the framework » 2020-03-06 15:24:37

AOG

Hi Ab,

I would like to ask you not to include the static binaries into the repo.
Binaries are not handled very well. And will blow-up the whole repo with every commit.

Please use the releases for the sqlite3 binaries. With appropriate naming.
Also, old binary releases are very easily accessible this way.

Thanks.

#87 Re: mORMot 1 » Using Mormot on FreeBSD, Linux, etc. with almost all your windows libs » 2020-01-23 09:01:28

AOG

Static ... also just for the fun of it ... ;-)

72969949-d08de300-3dc6-11ea-9ae3-509c2dc32161.JPG

Will do a pull for the changes needed for static.

#89 Re: mORMot 1 » Access violation with FPC 3.3.1 » 2019-10-29 12:17:37

AOG

If you are on Windows or Intel Linux, you can already have a go at mORMot for current FPC trunk:
https://github.com/LongDirtyAnimAlf/mOR … /FPC_trunk

#90 Re: mORMot 1 » Access violation with FPC 3.3.1 » 2019-10-29 06:41:00

AOG

Ab has his own RPi's these days. So he can review by himself. But feedback is always welcome !

Today I will start working on getting mORMot to run with current FPC trunk on ARM.

#91 Re: mORMot 1 » Access violation with FPC 3.3.1 » 2019-10-28 07:03:21

AOG

I have completed the work on ARM.
The results (waiting for approval) are available at:

https://github.com/LongDirtyAnimAlf/mORMot

You are very welcome to tests these changes.

Sidenote:
Due to a compiler bug, use -O0 or -O1 for your project.
You may get some errors when using -O2

#92 Re: mORMot 1 » Access violation with FPC 3.3.1 » 2019-10-25 11:46:12

AOG

A pull-request is pending/created for some ARM changes.
Not yet perfect. Awaiting Ab response.

#93 Re: mORMot 1 » Compability with FPC Trunk 3.3.1 » 2019-09-30 07:49:18

AOG

I am working on it ... but there still remains a single issue with dynamic arrays (rtti) that remains to be solved.

#94 Re: mORMot 1 » Exception on Raspberry Pi 4 - SynCommons.pas » 2019-09-21 06:17:31

AOG

I can confirm the ARM issues ... its all about alignment.
Will look into the problems if my times allows for it.

#95 Re: mORMot 1 » Build mORMot on current macOS » 2019-06-18 05:17:19

AOG

Using latest trunk/trunk (by fpcupdeluxe) on Mac 10.14, the latest mORMot builds ok (TestSQL3.lpi).
And runs reasonable (except for "Service Oriented Architecture").

#96 Re: mORMot 1 » SIGSEGV - SynCommons, fpc 3.2 » 2019-05-28 08:04:18

AOG

Hi Ab,

Another small (but very necessary) ARM fix. See comment.

https://github.com/synopse/mORMot/pull/206

#97 Re: mORMot 1 » SIGSEGV - SynCommons, fpc 3.2 » 2019-05-25 07:40:45

AOG

Hi Ab,

I have created a pull with some changes for Linux ARM.
Please review !

https://github.com/synopse/mORMot/pull/203

#98 Re: mORMot 1 » SIGSEGV - SynCommons, fpc 3.2 » 2019-05-23 09:00:25

AOG

Would you mind trying this.

In SynFPCTypInfo, line 182.
Replace
Dec(PtrUInt(result),SizeOf(pointer));
with
Dec(PtrUInt(result),2*SizeOf(pointer));

#99 Re: mORMot 1 » SIGSEGV - SynCommons, fpc 3.2 » 2019-05-23 06:57:26

AOG

Confirmed.

Reproduceable on ARM.
Not reproduceable on Windows.

Will look into it.

#100 Re: mORMot 1 » FishShop demo not working with FPC on Windows » 2019-05-06 11:14:47

AOG

Bump ... ;-)

Ps: I am using FPC trunk SVN 40491 and Lazarus trunk SVN 59757 win32 on win10

Board footer

Powered by FluxBB