You are not logged in.
I can't download.
Can't find the SAD document anymore.
@ab you can try renew again. I was able to renew my Delphi community version last week.
@ab
Delphi Community can't be used?
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
Thank you.
Trying to convert a mORMot1 project to mORMot2.
Need TDocVariantArrayDataSet.
There are a version of this DataSet in mORMot2?
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
I need to convert ServerTimeStamp, UTC time, to local time.
Any hints?
A git pull solved the question. Thank you.
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.
@Javierus do you have a link to the .mobi or .epub version of the docs?
mORMot can work with SQLite3 RTree extension. See the docs.
@ab we have KDD patterns examples in documentation?
I have read your presentation of KDD, just asking.
Thank you guys.
This is a wonderful thread.
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?
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.
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?
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
I don't use Eurekalog, but I use MadExcecpt. I will try this.
@Junior/RO
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?
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.
Like
type
CoordinateReader = class
class function ReadUtmCoordinates(const fn: TFileName): TUtmCoordinateDynArray;
class function ReadGeoCoordinates(const fn: TFileName): TGeoCoordinateDynArray;
end;
var Coordinates := CoordinateReader.ReadUtmCoordinates(fn);
It's a try to emulate Ruby modules. Works for me.
SynTrim is a good name for this function that will fix all troubles.
I agree.
"Branches are evil" make my jaw drop.
548 MB/s to 4.3 GB/s?
Wow
Shouldn't these methods be static? (class methods)
Or your suggestion ist to maintain a global instance of the created objects?
TSynString = object public class function Trim(const aValue: RawUTF8): RawUTF8; end;
Won't compile. That should be
TSynString = class <--- here
public
class function Trim(const aValue: RawUTF8): RawUTF8;
end;
edwinsn,
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.
@XyberX
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.
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.
Thank you.
Ultimate Web Frameworks For Ultra-Fast Web Application Development using Delphi/C++ Builder
@ab sqlite encryption is gone?
Is there an "early" access to it?
There are a branch mORMot2 in Github.
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?
You mean TJSONSerializer.RegisterObjArrayForJSON()?
@ab
Register TBitmapObjArray where?
>> 4. Delphi has troubles linking .obj from other compilers.
Yeah.
Yes i tried -fomf32, but the D7 compiler says that the resulting .obj is a bad format.
I will see what -fasm will tell.
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?
Yeah removing column I think that is not possible.
I don't have any Twitter account, so I can't apply, I am afraid.
LOL
In this post about some potential financial backing of Delphi open source projects, with heavy community involvement, Embarcadero mentions mORMot.
Try using git bisect to find which was the commit where the bug happens.
@erick
Is Tim Young/Elevate Software updating Elevate Web Builder?
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
SQLFIELDTYPETODBFIELDTYPE: array[TSQLFieldType] of TSQLDBFieldType =
(SynCommons.ftUnknown, // sftUnknown
SynCommons.ftUTF8, // sftAnsiText
are now
SQLFIELDTYPETODBFIELDTYPE: array[TSQLFieldType] of TSQLDBFieldType =
(SynTable.ftUnknown, // sftUnknown
SynTable.ftUTF8, // sftAnsiText
@EMartin
The date of files SynRestVCL.pas and SynRestMidasVCl.pas is 10-04-2018. Is this correct?
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
https://dlang.org/blog/2020/05/14/lomutos-comeback/
@ab
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?
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.
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.
Delphi 7:
20% + 1
I don't voted in this survey because I was in vacation.