Jacek, I need to look into this problem. Thank you Masaharu Goto ======================================================================== This, on principle, works ( the CallFunc::SetFunc tries to byte compile the p2f function prior to use ). There exist a problem, however. Sometimes the p2f is NOT byte compiled. I tried to trace it ... seems that the CallFunc::SetFunc calls the GMethodInfo::GetBytecode which calls the G__compile_bytecode which returns "bytecodestatus" 2 ( G_BYTECODE_FAILURE ). Sorry, no idea why. I can easily "produce" such a problem : ----------------------- root [0] .L ntuple.so <- load the "compiled" shared library root [1] ntuple *n=new ntuple() <- create an "ntuple" object n root [2] .L test.cxx <- load the "interpreted" function root [3] n-Draw("x") <- error, the ntuple class has no Draw method Error: No symbol Draw("x") in current scope FILE:/tmp/01521caa LINE:1 (class ntuple*)0x85073d0 *** Interpreter error recovered *** root [4] n->Loop(test) <- "compiled" code calls "interpreted", BYTECOMPILE IT <- it will NOT be byte compiled after the "error" ----------------------- Sometimes it helps if, after such an error, I ".L test.cxx" again, but sometimes not ( sometimes after two ".L test.cxx" it works ). Any idea why ?
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:33 MET