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

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

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.

There was set of criteria, that gradually grew over time, which motivated me to create the basic framework skeleton at first, then add considerable amount of functional 'meat', sometimes reinventing the wheels, sometimes inventing the square-wheeled bicycles, sometimes doing something completely new (for me, of course).

What was needed (click to unfold):

  1. Strict separation of non-visual, and visual (GUI) areas of functionality
  2. Some generic cross-platform implementations, for file primitives, for instance
  3. Extendability
  4. String class + its satellites, like I18N, locale, misc encoding converters, tokenizer, RegEx
  5. File, Path, etc. primitives
  6. Streams
  7. Basic XML support
  8. Math, advanced math
  9. Communications
  10. Reflection
  11. Scripting


What would old tethered programmer want from its main working tool? Obviously, it must, no, MUST work as expected, and provide an expected, I emphasize, EXPECTED result(s). Recently, we tried to compile our middle-sized application project group for MAC OS. All components were separately ported beforehand, to be at least compileable under toolchains other than Win32|Win64. Needless to say, that after a few tries to compile entire project group, and getting a load of ‘unresolved externals’, I started to suspect that something is wrong there :) Test project for the article.


FMX framework automatically maintains style loading for Controls which implement StyleLookup property. What would you do, to quickly implement compound control, with automatic styling support, without actually write a "true" component class for it?


About couple years ago, I've faced neccessity to add Auto-update functionality to my software. There were several restrictions, to which this tool should comply.

  • Freeware, open source.
  • Intuitive programming interface.
  • Final binary should be independent of any external libraries.
  • Easy to integrate with a product


Sometimes They Come Back... AgainПисал для буржуинского блога на межязыке, уж не обессудьте...

I remember stepping on the stl+locale+stream+static linkage bugs as early as CB6 was major tool for our team.


В предыдущей серии мы создавали объекты с использованием обертки, написанной на Delphi, включенной в проект C++ Builder. В этот раз сделаем еще лучше - напишем параметризованный вызов конструктора объекта Delphi на С++, используя Delphi RTTI.


  31.05.2016  ©2016 - ExactSoft - All rights reserved

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