Hi Ralph, you need to generate dictionary by adding ClassDef macro to your class. Please, check guiviewer example from $ROOTSYS/test directory. Regards. Valeriy ----- Original Message ----- From: "Ralph Steinhagen" <Ralph.Steinhagen@post.rwth-aachen.de> To: <roottalk@pcroot.cern.ch> Sent: Thursday, February 20, 2003 9:29 AM Subject: [ROOT] Having difficulties with connect() of a signal to a member ofthe same class > Hello, > > I am trying to get familiarized to the gui functions of the ROOT package. Up > to now I have done most of the gui design with Qt and are used to the signal > slot mechanism. > I do not want to mix QT and ROOT code, therefore I hope to being able to use > ROOT for the analysing as well as for the gui. > > I have a problem to connect a signal emited by a button to a function which is > declared as a member in the same class. > > class Monitor : public TGMainFrame { > > private: > // [..] some vars > public: > > Monitor(const TGWindow *win, const TGWindow *main, UInt_t w, UInt_t h); > virtual ~Monitor(); > // [..] > void DoDraw(); > }; > > the connect call in the constructor: > [..] > button->Connect("Clicked()","Monitor",this,"DoDraw()"); > [..] > > The code compiles fine but complains during execution about: > "Error in <TQObject::CheckConnectArgs>: slot DoDraw() does not exist" > > I have checked the following thread: > http://root.cern.ch/root/roottalk/roottalk02/0735.html > "[ROOT] cant connect slot to THIS pointer ?" > and created a dictionary with > rootcint "mysourceDict" -c "mysource" > and followed the steps explained in: > http://root.cern.ch/root/CintGenerator.html > but it still does not function as it is mentioned. > In fact my DoDraw() function is not even mentioned in the generated files. > > I would be glad if sombody might enlighten me because I think the signal slot > mechanism might save lots of my time. > > Best regards, > > Ralph > >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET