ArrayMap<String, EscValue> global; Vector<EscValue> args; Scan(global,"SetX(){:X=yourvalue;}"); p=global.Find("SetX"); if(p>=0) Execute(global, NULL, global[p],args); //the rest of your code
bool SetGlobalVar(ArrayMap<String, EscValue>& global, const String& var, const String& param, const String& value) { Vector<EscValue> args; try { Scan(global, "SetGlobalVar(){:" + var + (param.IsEmpty() ? "" : "[\"") + param + (param.IsEmpty() ? "" : "\"]") + "=" + value + ";}"); Execute(global, NULL, global.Get("SetGlobalVar"), args); global.Remove(global.Find("SetGlobalVar")); } catch(CParser::Error e) { LOG("ERROR: " + e); return false; } return true; }