MVP Logo

Материализуя идеи

Не поднимешься в горы — не узнаешь высоты неба; не спустишься в бездну — не узнаешь толщи земли.

ExacTsoft C++ framework is kind of creature, that was born back in 2000s, when I realized, that products, I developed back there, need common functional codebase.

The final framework structure, that crystallized from all that years in development, was like the following:

escore - All basic stuff, including reflection engine, date-time, string and support classes, powerful variant, extensible COM-like interface support, RegEx, files, streams, object serialization support. Many important classes are reflected. 

escomm - Communication primitives. UARTs, FTDI direct driver control, Bluetooth, Bluetooth LE, Sockets. Channel abstractions, implemented over these different types of IO. All classes functionality is reflected.

esmath - Basic and advanced math classes, all reflected.

esscript - A scripting engine, configurable compiler, compiled 'binaries' serialization, virtual machine for execution. Script uses reflection to invoke all C++ functionality exposed from escore, escomm, esmath to be available from scripting language, with ability to load an additional binaries, or lightweight scriptlets, to be compiled on demand.

Script compiler is the only place, where boost is used :) I tried to eliminate all possible external dependencies everywhere else.

escore may be configured to use different RTLs, as needed, for instance it may use parts of Embarcadero RTL for some specific internal stuff, like ZIP compression-decompression, RegEx, etc. Otherwise, it may use boost implementation(s) of RegEx, like xpressive, if available, or the boost classic one. Otherwise, an internal ZLIB implementation may be used in escore.

The GUI framework part is development environment - specific, for instance, historically I used 4 GUI frameworks, under different conditions: MFC, wxWidgets, VCL, and, finally, Firemonkey.

The proverb says "one look is worth a thousand words", so here are small sample snippets related to miscellaneous aspects of ES framework usage. Scripting examples may be directly cut-and-pase into scripting host tool application, available for the download below, compiled, and executed right away.

The current stable version documentation is here: 

The current development version of ES scripting console is here:

Short ES script cookbook is here: 


Сейчас на сайте 54 гостя и нет пользователей

29.11.2021  ©2021 - ExactSoft - All rights reserved