Hello, >From a TControlBar button, i don't succeed to call class member functions i wrote, except for already defined root function. (I use ROOT with XLC compilation on AIX, IBM.) This is an example: //----------------------------------- class Fenetre: public TCanvas { public: Fenetre::Fenetre(Text_t* name, Text_t* title, Int_t ww, Int_t wh) : TCanvas(name,title,ww,wh) // constructeur {} void Fenetre::Affiche(int a) {cout<<"a="<<a<<endl; } }; //------------------------- void fonction(int a) { cout<<a<<endl;} //------------------------------------ int main(int argc, char **argv) { Fenetre *c = new Fenetre("c", "Essai de fenetre", 400,400); TControlBar bar("vertical"); bar.AddButton("buyton1","fonction(2)","essai"); bar.AddButton("button2","c->Affiche(3)","essai"); bar.Show(); gROOT->SaveContext(); } //---------------------------- the error with button 1 is: Error: No symbol fonction(2) in current scope FILE:/tmp/caaZ0tcyc LINE:1 *** Interpreter error recovered *** the error with button 2 is: Error: Can't call TCanvas::Affiche() in current scope FILE:/tmp/baaXPtcyb LINE:1 *** Interpreter error recovered *** I anderstand that the problem is that the global variable: fonction(int) and the class member Fenetre::Affiche() must be known from the system, but how to do that? Thank you, Frederic. -- Frederic Faure LPMMC (Maison des Magisteres Jean Perrin, CNRS) BP 166 38042 Grenoble Cedex 9 France email: faure@labs.polycnrs-gre.fr tel: 04 76 88 74 98 fax: 04 76 88 79 81
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:38 MET