In a message posted in the EMB forum, Anthony wrote that he "inherited this stuff"... Maintaining a Delphi application pays the bills, but... is sometimes frustrating.
Here are some advices or experiment sharing.
2010-12-17
2010-12-17. Pascal Programming
In a message posted in the EMB forum, Anthony wrote that he "inherited this stuff"... Maintaining a Delphi application pays the bills, but... is sometimes frustrating.
Here are some advices or experiment sharing.
2010-12-13
2010-12-13. Open Source › mORMot Framework
The Synopse SQLite3 Database Framework was just released under version 1.11:
- internal SQLite3 database engine is updated to version 3.7.4;
- new TSQLRecordMany to handle "has many" and "has many through"
relationships;
- new TSQLRecordFTS4 class, to handle the new FTS4 extension module;
- new RANK() function available in SQL statements for ranking FTS3/FTS4;
- introduces new TSQLite3DB, TSQLite3Statement, TSQLite3Blob, TSQLite3Value and
TSQLite3FunctionContext types to clarify SQLite3 internal handle usage;
- new sqlite3_busy_timeout and sqlite3_busy_handler low-level functions, with
new TSQLDataBase.BusyTimeout property;
- now handles User Defined Functions, via sqlite3_create_function_v2 and
corresponding sqlite3_result_* functions;
- new MOD() and SOUNDEX() functions available in SQL statements;
- a lot of code refactoring, speed improvements, numerous fixes, new
methods.
2010-12-04
2010-12-04. Open Source › Open Source libraries
We just released a new unit to the source code repository.
It's a simple, small and compact MM, built on top of the main Memory Manager(FastMM4 is a good candidate, standard since Delphi 2007), architectured in order to scale on multi core CPU's (which is what FastMM4 is lacking).
Original code is ScaleMM - Fast scaling memory manager for Delphi by André Mussche.
2010-12-04. Pascal Programming
It was told on this Blog that the Delphi memory manager (FastMM4 since Borland 2006 - but it was even worse with the previous "Borland's" MM), doesn't scale well on multi-code CPU. That is, if you have a multi-threaded application with a lot of memory handling (e.g. aString := aString+someString), the Delphi MM won't scale with multi cores. When I mean "don't scale", I mean that the optimistic though of "my CPU has 4 cores, therefore the same work run in 4 threads will be 4 times faster than with 1 thread" is false. It performs even worse with multiple threads than with 1 thread...
So we went into forking a nice project, named ScaleMM, and created our scalable optimized MM, named SynScaleMM. Our forked modifications were even included in the main ScaleMM branch.
During my profiling of our SynScaleMM, I discovered some very nice results with Delphi compiler inlining features.
2010-10-28
2010-10-28. Open Source › mORMot Framework
Extracted from wikipedia, here is a definition of 'many to many' relationships in regular database management:
In our SQLite3 framework, we just created a dedicated class for handling such "many to many" relationships.In systems analysis, a many-to-many relationship is a type of cardinality that refers to the relationship between two entities (see also Entity-Relationship Model) A and B in which A may contain a parent row for which there are many children in B and vice versa. For instance, think of A as Authors, and B as Books. An Author can write several Books, and a Book can be written by several Authors. Because most database management systems only support one-to-many relationships, it is necessary to implement such relationships physically via a third and fourth junction table, say, AB with two one-to-many relationships A -> AB and B -> AB. In this case the logical primary key for AB is formed from the two foreign keys (i.e. copies of the primary keys of A and B).
2010-10-24
2010-10-24. Open Source › Synopse PDF engine
The Synopse PDF Engine was just released under version 1.10
This Engine is a set of units, used in our SQLite3 database framework for
exporting reports in pdf format.
But these units can be used stand-alone, in order to produce pdf files from
pure Delphi code.
2010-10-23
2010-10-23. Open Source › mORMot Framework
The Synopse SQLite3 Database Framework was just released under version
1.10:
- internal SQLite3 database engine is updated to version 3.7.3;
- code modifications to compile with Delphi 6 compiler;
- enhancements in TSQLRestServerStatic, for easier stand-alone work of this
in-memory database engine;
- new SQLite3Edit unit, for automated creation of a UI window, ready to edit
any TSQLRecord, with no RAD necessary (all components are created from RTTI):
think this is an ORM for User Interface.
This version compiles from Delphi 6 up to Delphi XE.
2010-09-20
2010-09-20. Pascal Programming
A funny and honest article on Dr Dobbs told the story of the "DLL hell" on windows.
Writing Delphi applications, in respect to needed libraries to be redistributed along with, is just paradise.
« previous entries - page 44 of 52 - next entries »