Open Source libraries
Entries feed
2012, Tuesday January 17
By A.Bouchez on 2012, Tuesday January 17, 23:02
The Open Source SynDBExplorer tool
has been enhanced these days.
Main new features are:
- Execution of the current selected text (if any) instead of the whole memo
content;
- "Exec & Export" new button, for direct export to file.
I really like the selection execution feature - this speed up SQL
process a lot, and allow to switch from one statement to another.
And the new exporting features are opening new possibilities.
Continue reading...
2011, Saturday August 20
By A.Bouchez on 2011, Saturday August 20, 10:24
We already shipped a sophisticated set of logging classes some month ago.
Since then, its features have been enhanced, and the system has been deeply
interfaced with our main ORM framework. Now almost all low-level or high-level
operations can be logged on request.
But since the log files tend to be huge (for instance, if you set the
logging for our unitary tests, the 6,000,000 unitary tests creates a 280 MB log
file), a log viewer was definitively in need.
Continue reading...
2011, Friday July 22
By A.Bouchez on 2011, Friday July 22, 17:14
For our ORM framework, we implemented an efficient SQLite3 wrapper,
joining statically (i.e. without any external dll) the SQLite3 engine to the
executable. SQLite3 is in fact used as the DB kernel of the framework. For
instance, thanks to its unique virtual table
mechanism, even tables in other databases (like Oracle or MSSQL) are
available as if
they were SQLite3 tables.
We just made this wrapper independent from our ORM, in a new dedicated unit,
named
SynSQLite3.pas.
It was an easy task to let this unit be called from our SynDB
database abstract classes.
Continue reading...
2011, Thursday April 14
By A.Bouchez on 2011, Thursday April 14, 05:34
Logging is everything... unless you never wrote a bug in your program!

Let us introduce a new logging class:
- logging with a set of levels;
- fast, low execution overhead;
- can load .map file symbols to be used in logging;
- compression of .map into binary .mab (900 KB -> 70 KB);
- inclusion of the .map/.mab into the .exe;
- reading of an external .map to add unit names and line numbers to a log
file without .map available information at execution;
- exception logging (Delphi or low-level exceptions) with unit names and line
numbers;
- optional stack trace with units and line numbers;
- methods or procedure recursive tracing, with Enter and auto-Leave;
- high resolution time stamps, for customer-side profiling of the application
execution;
- set / enumerates / TList / TPersistent / TObjectList / TContainer / dynamic
array JSON serialization;
- per-thread or global logging;
- multiple log files on the same process;
- integrated log archival (in zip or any other format);
- Open Source, works from Delphi 6 up to XE.
Continue reading...
2011, Saturday March 5
By A.Bouchez on 2011, Saturday March 5, 09:20
A task dialog is a dialog box that can be used to display information and
receive simple input from the user. Like a message box, it is formatted by the
operating system according to parameters you set. However, a task dialog has
many more features than a message box.
Windows provides a generic task dialog available since Vista/Seven. But
there is none available with previous versions of Windows, i.e. Windows XP or
2K.
This unit (licensed under a MPL/GPL/LGPL tri-license) will use the new
TaskDialog API under Vista/Seven, and emulate it with pure Delphi code and
standard themed VCL components under XP or 2K. It will compile from Delphi
6 up to XE, and is Unicode ready.
Continue reading...
2010, Saturday December 4
By A.Bouchez on 2010, Saturday December 4, 17:50
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.
Continue reading...
2010, Tuesday July 27
By A.Bouchez on 2010, Tuesday July 27, 10:32
We made some years ago a Delphi unit for hyphenation of text.
Such an unit, together with our SynPdf library for example, could be useful
in your application. So we released the source!
Continue reading...
2010, Saturday June 26
By A.Bouchez on 2010, Saturday June 26, 18:52
In our Source Code repository you would have perhaps noted the
SynLZ.pas and SynLZO.pas units.
These are two in-memory compression units, optimized for speed.
SynLZ is a brand new LempelZiv-based compression algorithm, the
fastest around for compression speed, so very suitable for using on Server
side, with very low CPU consumption.
Continue reading...
2010, Friday April 2
By A.Bouchez on 2010, Friday April 2, 14:25
The new version of our Open Source SynGdiPlus unit
does provide a lot of new features:
- dynamic linking (your program runs even on Windows 98/2000), without the
gdiplus.dll library
- use version 1.1 of GDI+ if available on your system (under Vista/Seven or the
one embedded since Office 2003)
- can convert from a TMetaFile (i.e. emf) into a GDI+ metafile (i.e.
emf+)
- can draw TMetaFiles into any canvas, with
GDI+ anti-aliasing!
Continue reading...
2010, Wednesday March 24
By A.Bouchez on 2010, Wednesday March 24, 10:10
The Fast JPEG decoder using SSE/SSE2 library file has been updated, and is
now in version 1.2, released under a MPL/GPL/LGPL tri-license. It's mainly a
bug issue fix.
Continue reading...
2010, Saturday March 20
By A.Bouchez on 2010, Saturday March 20, 15:02
Implements TGraphic descendants able to load and
save GIF, TIF, PNG and JPG pictures, using the GDI+ library. Freeware
Opensource component, licensed under a MPL/GPL/LGPL tri-license. Works from
Delphi 3 to 2010.
Continue reading...
2010, Thursday March 18
By A.Bouchez on 2010, Thursday March 18, 07:54
The Fast JPEG decoder using SSE/SSE2 library file has been updated, and is
now in version 1.1, released under a MPL/GPL/LGPL tri-license.
Continue reading...
2010, Sunday March 14
By A.Bouchez on 2010, Sunday March 14, 15:17
This LGPL-distributed unit allows very fast JPEG
image decoding, using SSE/SSE2 pure assembly code. It is much faster than the
standard jpeg.pas unit.
It's based on the great Dr. Manhattan's source code,
from http://sourceforge.net/projects/jpegdec
Continue reading...
one trackback