@kickoune103 What do you mean by "if I register pTrame" ? This is not clear for me when your C++ code is called, is it when crc_calc is called ? It may be ambiguous to use the same name for your global property and the function's argument. -> m_engine.globalObject().setProperty("pTrame", l_var); -> function cal_crc(pTrame){return pTrame}) I suggest that you change the name of the arg: -> function cal_crc(trame){trame[0]=5;return trame})