I just searched Upp source code (Ctrl-Shift-F) for GetIniKey.
String GetIniKey(const char *id, const String& def) {
ASSERT_(IsMainRunning(), "GetIniKey is allowed only after APP_MAIN has started");
Mutex::Lock __(sMtx);
return sIniKeys().Get(id, def);
}
bool IsMainRunning()
{
return sMainRunning;
}
sMainRunning is set in CommonInit(). Try to use search
CommonInit() is called by various initialization functions.
In the end it is called by GUI_APP_MAIN/CONSOLE_APP_MAIN.
Because you are not calling GUI_APP_MAIN/CONSOLE_APP_MAIN in your DLL, you are getting this assert.
Try to call CommonInit() manually during initialization of your DLL.