Yongzhao, With TButton, you can only execute messages that can be understood by the interpreter. If you have a normal C function, this function must be know to the interpreter (this means be in the dictionnary). You must declare your compiled C function in your LinkDef.h file with a statement like #pragma link C function exitDrawAll; You can also invoke a compiled C++ member function if the corresponding class is part of the dicytionary. Invoking a C++ function is typically done by using a C++ global object or a static member function. Rene Brun Yongzhao Zhou wrote: > > Dear Rooters, > I tried the examples but() in the Class Description of TButton on web as a > macro via the CINT and got successful, but got a failure in compiled mode > (in a program) and got an error message: > Error: No symbol exitDrawAll() in current scope > FILE:/var/tmp/aaaa12267 LINE:1 > *** Interpreter error recovered *** > And same error message was happened to my program. My codes are: > char *actBut="exitAllDraw()" > TButton *but3 = new TButton("Exit Draw All",actBut,.72,.02,.95,.060); > or > TButton *but3 = new TButton("Exit Draw All","",.72,.02,.95,.060); > but3->SetMethod("exitDrawAll()"); > Is that meanning of that TButton just can be used in CINT and can not be > used in the compiled mode? > Thanks for some help. > Best, > ZYZ > ------ > Yongzhao Zhou, KLOE, LNF, INFN, Italy > Tel:39-06-94032696 Fax:39-06-94032427
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:40 MET