#1 Re: mORMot Framework » Strange problem with currency type » 2021-11-10 00:59:15

ab wrote:

EKON is 25 years old this year.
What a stability and achievement!

What was your session about?

EDIT: I found it:

- mORMot Cryptography
- Server-Side REST Notifications with mORMot
- High Performance MicroServices

#3 mORMot Framework » mORMot2's TDocVariantArrayDataSet? » 2021-11-06 03:11:34

Replies: 2

Trying to convert a mORMot1 project to mORMot2.

Need TDocVariantArrayDataSet.

There are a version of this DataSet in mORMot2?

#4 Re: mORMot Framework » Convert TSQLHttpClient.ServerTimeStamp to local time » 2021-09-24 03:09:59

macfly wrote:

I believe you can use TSynTimezone for this:
localtime =  UtcToLocal(TimeLogToDateTime(Server.ServerTimeStamp), 'Your Timezone');

Thank you.

But docs says:
property ServerTimestamp: TTimeLog

That's different from the source code comments. In mORMot.pas, TSQLRest.ServerTimeStamp says

    /// the current UTC Date and Time, as retrieved from the server
    // - this property will return the timestamp as TTimeLog / Int64

#5 mORMot Framework » Convert TSQLHttpClient.ServerTimeStamp to local time » 2021-09-23 23:22:05

Replies: 6

I need to convert ServerTimeStamp, UTC time, to local time.

Any hints?

#7 Re: mORMot Framework » Is SQLite 3.36 static lib already updated? » 2021-08-31 14:38:10

Exception from SynSQLite3Static.pas

Static SQLite3 library as included within CENSO is outdated!
Linked version is 3.35.5 whereas the current/expected is 3.36.0.

  // you should never see it if you cloned https://github.com/synopse/mORMot

Well here I am. smile

#8 Re: mORMot Framework » mORMot documentation on eBook » 2021-06-21 14:16:22

@Javierus do you have a link to the .mobi or .epub version of the docs?

#9 Re: mORMot Framework » mORMot and Spatial Database » 2021-05-18 01:18:01

mORMot can work with SQLite3 RTree extension. See the docs.

#10 Re: mORMot Framework » REST Design problem: a function with many parameters for GET requests » 2021-04-05 12:53:46

@ab we have KDD patterns examples in documentation?

I have read your presentation of KDD, just asking.

#13 Re: mORMot Framework » Grace is an idea for mORMot - upgrade server with zero downtime » 2021-01-29 18:04:49

edwinsn wrote:

Maybe we can use mORMot sample 09 + Apace ab to do a side-by-side benchmark?
Maybe we can even ask all member on this forum to share about their VPS statistics? wink

It's a great idea. I'm recovering from Covid-19 now and I think that next week I can do this.

Yesterday was the first day - in 20 days - that I had energy to use the computer.

#14 Re: mORMot Framework » Grace is an idea for mORMot - upgrade server with zero downtime » 2021-01-27 23:25:54

edwinsn wrote:

Yes, I do. Just checked, I pay $26/month for a Vultr Windows VPS, maybe $10 is the Windows license fee.
I also use linux VPS (AWS/digitalocean/Linode)

Actually, vultr is the only big-names that provide decent Windows VPS at a reasonable price - the others is either expensive or slow.

Do you know Contabo? I'm using for a year, now. Windows Serer 2016, 16 GB. 18 euros.

Vultr is better?

#15 Re: mORMot Framework » mORMot 2 proposal: rename RawUTF8 type to Utf8 ? » 2020-12-30 12:53:04

var s: mUtf8 // mORMot UTF8
var s: sUtf8  // string UTF8
var s: s_utf8  // snake case
var s: RawUTF8 
var s: rUtf8  // God forbid
var s: _utf8  // argh
var s: Utf8

#16 Re: mORMot Framework » Compiling SyndbExplorer Sample » 2020-12-13 16:33:43

I don't use Eurekalog, but I use MadExcecpt. I will try this.

#17 Re: mORMot Framework » Renaming TSQLRecord to TORM » 2020-11-11 12:40:19

mdbs99 wrote:


There is no `class var` in old Delphi versions to keep some fields that could be shared among functions in an object/record structure.

Right, but this isn't the same use case. When a pure function would use a class var?

#18 Re: mORMot Framework » Renaming TSQLRecord to TORM » 2020-11-10 07:04:46

mdbs99 wrote:

What about a "helper" object/record with all string functions? Another one for Date/Time functions, and so on.

In my code, for years I use a class-with-class-methods-only without "T" prefix.


  CoordinateReader = class
    class function ReadUtmCoordinates(const fn: TFileName): TUtmCoordinateDynArray;
    class function ReadGeoCoordinates(const fn: TFileName): TGeoCoordinateDynArray;

var Coordinates := CoordinateReader.ReadUtmCoordinates(fn);

It's a try to emulate Ruby modules. Works for me.

#19 Re: mORMot Framework » Renaming TSQLRecord to TORM » 2020-11-09 19:55:26

zed wrote:

SynTrim is a good name for this function that will fix all troubles.

I agree.

#20 Re: mORMot Framework » mORMot 2.0 status? » 2020-11-05 21:58:03

"Branches are evil" make my jaw drop.

548 MB/s to 4.3 GB/s?


#21 Re: mORMot Framework » Renaming TSQLRecord to TORM » 2020-11-01 19:09:22

macfly wrote:

Shouldn't these methods be static?  (class methods)

Or your suggestion ist to maintain a global instance of the created objects?

TSynString = object
  class function Trim(const aValue: RawUTF8): RawUTF8;

Won't compile. That should be

TSynString = class  <--- here
  class function Trim(const aValue: RawUTF8): RawUTF8;

#22 Re: mORMot Framework » Renaming TSQLRecord to TORM » 2020-10-28 19:53:21

mdbs99 wrote:

Some frameworks/libs use the same prefix for all types (e.g. Indy, TMS, JEDI, DevExpress, etc) but, even though it could minimize eventual collision names, it's not perfect as anyone can use the same prefix as other already has used.
It could be very verbose either. Imagine typing TMormotTextWritter or TMormotOrm (!!).

That is a problem with the syntax. Ruby solve this using modules and works great.

#23 Re: Other components » REST Dataware and you, we arrived at mORMot » 2020-10-28 19:15:13


It is great news. I had some friends in Brazil that use Delphi with Rest DW and they like it very much.

If you wrote VCL Datasets that will use mORMot as a layer, I think that all community will use.

#24 Re: mORMot Framework » mORMot2: questions » 2020-10-14 16:04:07

macfly wrote:

For example, my routines for handling strings are in a TStringUtils object.

An advantage, is that it forces you to specify the object avoiding ambiguities of functions with the same name in different units.

I do this a lot, too.

Almost all new code that I wrote is inside of a class, with class methods. Since that Delphi syntax don't have modules (in the ruby way), class methods help me with this abstraction.

#26 mORMot Framework » Embarcadero mentions mORMot in his video about web frameworks » 2020-09-22 17:07:17

Replies: 3

Ultimate Web Frameworks For Ultra-Fast Web Application Development using Delphi/C++ Builder

https://blogs.embarcadero.com/ultimate- … c-builder/

#28 Re: mORMot Framework » mORMot 2.0 status? » 2020-08-26 14:58:11

sakura wrote:

Is there an "early" access to it?

There are a branch mORMot2 in Github.


#29 mORMot Framework » mORMot 2.0 status? » 2020-08-26 11:18:19

Replies: 19

I still using Delphi 7 in Windows 10.

Can't change to Lazarus.

Was using D7 without problems. Then I used SynCommons unit and the IDE started to freeze.

I know  that @ab is refactoring this code. Is the equivalent DynArray code of SynCommons ready for use in mORMot 2.0?

#32 Re: mORMot Framework » sqlite cipher implementation » 2020-06-16 20:50:45

>> 4. Delphi has troubles linking .obj from other compilers.


#33 Re: Low level and performance » Converting .obj files from format COFF to OMF » 2020-06-06 13:13:41

Yes i tried -fomf32, but the D7 compiler says that the resulting .obj is a bad format.

I will see what -fasm will tell.

#34 Low level and performance » Converting .obj files from format COFF to OMF » 2020-06-06 11:49:05

Replies: 2

I'm trying to link some Rust code compiled .obj files to Delphi 7.

But Rust's .obj uses the COFF format.

D7 needs the old OMF .obj format.

I have found in StackOverflow that @ab have made this convertion some time ago.

I have tried the same utility but don't know the right parameters.

@ab can you give me some help about the command line parameters when doing this type of convertion?

#35 Re: mORMot Framework » Rename a column with mORMot » 2020-06-03 21:48:34

Yeah removing column I think that is not possible.

#36 Re: mORMot Framework » Will mORMot be sponsored by Embarcadero? » 2020-05-24 17:28:35

ab wrote:

I don't have any Twitter account, so I can't apply, I am afraid.


#37 mORMot Framework » Will mORMot be sponsored by Embarcadero? » 2020-05-23 11:01:13

Replies: 6

In this post about some potential financial backing of Delphi open source projects, with heavy community involvement, Embarcadero mentions mORMot.

https://community.idera.com/developer-t … ponsorship

#38 Re: mORMot Framework » RemoteIP in request context - dissapear? » 2020-05-22 11:27:58

Try using git bisect to find which was the commit where the bug happens.

#39 Re: mORMot Framework » Penentration testing / Pen testing » 2020-05-20 19:09:31


Is Tim Young/Elevate Software updating Elevate Web Builder?

#40 Re: mORMot Framework » Contribution: TSynRestDataset » 2020-05-18 10:24:13

Are you using a old version of SynCommons too? Some enum type definitions that was in SynCommons.pas are now in SynTable.pas

All this

    (SynCommons.ftUnknown,   // sftUnknown
     SynCommons.ftUTF8,      // sftAnsiText

are now

    (SynTable.ftUnknown,   // sftUnknown
     SynTable.ftUTF8,      // sftAnsiText

#41 Re: mORMot Framework » Contribution: TSynRestDataset » 2020-05-17 17:42:33


The date of files SynRestVCL.pas and SynRestMidasVCl.pas is 10-04-2018. Is this correct?

#42 mORMot Framework » Can mORMot's quicksort benefits of a different pivot algorithm? » 2020-05-15 13:15:26

Replies: 0

Maybe mORMot can benefit of this "branch-free lomuto partition algorithm".

Sorting using the branchless Lomuto partition, however, is the clear winner by a large margin regardless of platform, backend, and input size.

Explanation and graphs

#43 Re: Low level and performance » BorlndMM.dll compiled with FastMM4-AVX » 2020-05-08 17:21:26

I noticed that your version of FastMM4-AVX, that comes with mORMot, have some IFDEFs and corrections.

Do you will send a patch to original FastMM4-AVX? There are any bugfixes needed for Delphi 7?

#44 Low level and performance » BorlndMM.dll compiled with FastMM4-AVX » 2020-05-08 17:18:59

Replies: 1

Testing BorlndMM.dll replacement compiled with D7 and FastMM4-AVX.

After replacing the DLL I have noticed:
- Compilation is faster.
- Delphi D7 IDE don't hangs anymore when using code completion and code helpers.

Edit: I was using the original (from 2002!) BorlndMM.dll due to a reinstall of Delphi and didn't remember to replace de DLL.

#45 Re: mORMot Framework » Fast MM5 » 2020-05-05 17:54:55

Yes, please, end of discussion. D7 works. D7 have components that I don't want buy again in new versions.

Reinstall components is hell.

Even today, Delphi can't work as a ruby bundle or rust crate, and I can't have a dependency list neither a place to download them.

#46 Re: mORMot Framework » Fast MM5 » 2020-05-02 17:41:12

Delphi 7:

20% + 1

I don't voted in this survey because I was in vacation.

#47 Re: mORMot Framework » Fast MM5 » 2020-05-01 13:07:30

I will only try the BorlndMM DLL with Delphi 7.

#50 mORMot Framework » Using SynDprUses.inc » 2020-04-22 11:19:40

Replies: 9

For years, all my programs .DPR always used this opening uses clause:

  FastMM4, FastCode, FastMove,
  Windows, Forms,

Reading mORMot examples, I found

//   first line of uses clause must be   {$I SynDprUses.inc}
  {$I SynDprUses.inc}

I did a comparision of mORMOt's version of FastMM4 and liked it. I will use the mORMot version.

But, what about FastCode and FastMove units? The optimizations of mORMot code will have better performance that the old FastCode, FastMove units? It's a drop-in replacement?

Board footer

Powered by FluxBB