You are not logged in.
hieroly wrote:..., and there's no escaping the need to use reporting components like Fastreport, which require associating a Datasource or Dataset.
This is not absolutely necessary. I have written an article about it. Here is the announcement in this forum.
With best regards
Thomas
Can't find your article.
I decided to port a code that works well with mORMot 1 to mORMot 2. It uses TSQLRecord, TDynArray, TDynArrayHashed, some functions from SynCrypto, and a Rest server.
I don't exactly know what are the equivalent units and types to those I have today in mORMot 1, hence the question: has any kind of conversion/migration guide been written?
I am also looking for a master/slave replication mechanism, but I'm not sure how mORMot will behave in cases of batches or updates made by SQL.
What is the current state of replication in mORMot 1 and mORMot 2?
We already do something similar with mORMot.
Just search for "branchless" comment in the mORMot source code and you will see a lot of places when this is available.
16 comments in SynCommons.pas, I will read everyone. Thank you.
Well this is interesting
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?