Frequently Asked Questions

Can I use the framework for free?

You can use it for free in application you don't use to get money. You are also allowed to use it for free in application which you use to get money in any way(for example, by selling application or by showing an advertisement in it). In this case you must put the so called back link into your application. For more information please see Plans Comparison Matrix page.

When I can't use the framework for free?

When you get money from application created with help of the framework. But you can avoid this restriction by adding a back link to the application. There are also limits for large companies. Please refer to Plans Comparison Matrix for more information.

What platforms are supported?

Actually, you can use the framework on any platform by adding your own implementation of a few platform dependent classes and adjusting code a little to your favourite compiler. But the Form Builder is only available for Windows. We are going to add different platform support out of box in future. Right now Windows and Android platforms are supported out of box.

How often are new version released?

We are releasing a hot fixes and small improvements in minor releases as soon as they are finished. As for the major improvements and new features, we are planning to release them once a several months.

What is the average time of waiting answer from support?

It depends on the plan you use. The Enterprise plan owners will get the response as soon as we investigate it. Usually it takes no more than 24 hours. For Professional plan owners it may take a litle bit longer. Requests from Free plan owners are processed with lowest priority. Anyway, the response delay is greatly depends on the complexity of the request and on how much active requests we have. Please don't send your request again until it's status changes to avoid processing same request multiple times.

I need help in development. What should I do?

You can always write to us using the support section in the menu at the top of the page. If we can we will provide you with a developer who will do the requested job. Please note, this feature is not free. You will have to pay for the development time(you will be informed how much you request will cost before starting). You must have required amount at your account balance before job get started.

How can I change form icon?

Add icon and corresponding resource files to the projects, use MAINICON identifier there to make icon also an application icon, add following three lines of code into form constructor.
HICON icon{ LoadIcon(*reinterpret_cast<const HINSTANCE*>(&Application->Handle), MAKEINTRESOURCE(MAINICON)) };
SendMessage(*reinterpret_cast<const HWND*>(&QueryService()->getWindow()->Handle), WM_SETICON, ICON_BIG, (LPARAM)icon);
SendMessage(*reinterpret_cast<const HWND*>(&QueryService()->getWindow()->Handle), WM_SETICON, ICON_SMALL, (LPARAM)icon);
This code should be called after creating window and renderer. As window and renderer are usually created when calling parent form prototype class constructor, it's Okay to place the code above at the beginning of your form class constructor body.

How to identify platform and compiler at compile time?

Compilers has predefined macros you can use to identify current compiler and target platform. Here is some of them.

Checking for OS (platform)

Linux and Linux-derived           __linux__
Android                           __ANDROID__ (implies __linux__)
Linux (non-Android)               __linux__ && !__ANDROID__
Darwin (Mac OS X and iOS)         __APPLE__
Akaros (        __ros__
Windows                           _WIN32
Windows 64 bit                    _WIN64 (implies _WIN32)
NaCL                              __native_client__
AsmJS                             __asmjs__
Fuschia                           __Fuchsia__

Checking the compiler

Visual Studio       _MSC_VER
gcc                 __GNUC__
clang               __clang__
emscripten          __EMSCRIPTEN__ (for asm.js and webassembly)
MinGW 32            __MINGW32__
MinGW-w64 32bit     __MINGW32__
MinGW-w64 64bit     __MINGW64__