Hi all, I have a problem of Rf_initEmbeddedR function. I've tried with: try { int Argc1 = 1; char *Argv1[] = {"Rtest_1"}; int Argc2 = 1; char *Argv2[] = {"Rtest_2"}; // Init R(first) Rf_initEmbeddedR(Argc1, Argv1); // R package load SEXP e = R_NilValue; SEXP r = R_NilValue; PROTECT(e = lang2(install("source"), mkString("hreg.r"))); r = R_tryEval(e, R_GlobalEnv, NULL); // -----> success UNPROTECT(1); // Function load SEXP fun; PROTECT(e = allocVector(LANGSXP, 3)); fun = findFun(install("hreg"), R_GlobalEnv); if(fun == R_NilValue) // -----> success { UNPROTECT(1); throw std::range_error("R Function not found"); } SETCAR(e, fun); UNPROTECT(1); // End R R_dot_Last(); Rf_endEmbeddedR(0); R_gc(); ///////////////////////////// // Init R(second) Rf_initEmbeddedR(Argc2, Argv2); // R package load e = R_NilValue; r = R_NilValue; PROTECT(e = lang2(install("source"), mkString("hbnreg.R"))); r = R_tryEval(e, R_GlobalEnv, NULL); // -----> NULL return UNPROTECT(1); // Function load PROTECT(e = allocVector(LANGSXP, 3)); fun = findFun(install("hbnreg"), R_GlobalEnv); // -----> Exception Error if(fun == R_NilValue) { UNPROTECT(1); throw std::range_error("R Function not found"); } SETCAR(e, fun); UNPROTECT(1); // End R R_dot_Last(); Rf_endEmbeddedR(0); R_gc(); } catch(std::exception& ex) { m_strErrMsg = ex.what(); return S_FALSE; } catch(...) { m_strErrMsg = "Exception: unknown reason"; return S_FALSE; } ----------------------------- my work environment : R version : 2.11.1 Development Language : VC++ OS : WinXP Pro sp3 Thanks and best regards. Young-Ju, Park from Korea [1][rKWLzcpt.zNp8gmPEwGJCA00] [@from=dllmain&rcpt=r%2Dhelp%40r%2Dproject%2Eorg&msgid=%3C20100909101509%2EH M%2E0000000000000eJ%40dllmain%2Ewwl737%2Ehanmail%2Enet%3E] References 1. mailto:dllmain at hanmail.net