Re: signal/slot communication problems

From: Xinchun Tian <tianxc_at_fnal.gov>
Date: Tue, 3 Nov 2009 01:35:50 +0800


Dear Alex,

>On Tue, Nov 3, 2009 at 1:20 AM, Axel Naumann <Axel.Naumann_at_cern.ch> wrote:

> another "before we look at your example"-question is: do you build a dictionary for the slot class? And if so, is > that a genreflex dictionary or a rootcint one? That would help us understand where the issue could come from.

I used genreflex to generate the dictionary, and I should have built the dictionary for the slot class. The following is part of requirements file which will generate the dictionary:

apply_pattern    install_more_includes more="EventDisplayBase"
apply_pattern    linker_library library=EventDisplayBase
apply_pattern    ld_library_path

apply_pattern reflex_dictionary dictionary=EventDisplayBase \
                               selectionfile=${EventDisplayBase_root}/dict/dict.xml \
                               headerfiles=${EventDisplayBase_root}/dict/dict.h
macro EventDisplayBaseDict_use_linkopts $(use_linkopts)

You can untar the tarball to check the fmwk/EventDisplayBase/dict/dict.{h,xml} for the dictionary classes.

Thanks,
Xinchun

    Cheers, Axel.

    Bertrand Bellenot wrote on 11/02/2009 06:13 PM:

        Hi,

        I don't have LCGCMT nor Xerces-C, but I'll try to take a look as soon as
        possible, and I'll let you know.
        In the meanwhile, you can check that the slots really exist by looking
        in the code (they should be public methods)

        Cheers, Bertrand.
        -----Original Message-----
        From: owner-roottalk_at_root.cern.ch [mailto:owner-roottalk_at_root.cern.ch]
        On Behalf Of Xinchun Tian
        Sent: Monday, November 02, 2009 6:03 PM
        To: roottalk_at_root.cern.ch
        Cc: tianxc_at_fnal.gov
        Subject: [ROOT] signal/slot communication problems

        Dear ROOTers,

        I am in the process of converting SRT managed FMWK project
        (http://enrico1.physics.indiana.edu/fmwk/wiki/index.php?n=FMWK.FMWK?from
        =Main.HomePage) to a CMT project. I used LCGCMT as the glue package and
        the policy is basically from GaudiPolicy with slightly modification. The
        conversion is almost done, but get problems on EventDisplayBase package
        which is using signal/slot communication mechanism.

        If you happen to using LCGCMT, and have ROOT/Xerces-C installed, it is
        quite straightforward to build EventDisplayBase and reproduce the error.
        The tarball is attached.
        shell> cd fmwk/EventDisplayBase/cmt
        shell> cmt config
        shell> source setup.sh
        shell> cmt br cmt config
        shell> cmt br make
        shell> test_evdb.exe
        include path:
        -I/Users/tianxc/nova/nova-trunk/../external/ROOT/5.22.00c/i386-darwin-gc
        c40-dbg/root/include
        include path:
        -I/Users/tianxc/nova/nova-trunk/../external/ROOT/5.22.00c/i386-darwin-gc
        c40-dbg/root/include
        Error in <TQObject::CheckConnectArgs>: slot HandleMenu(int) does not
        exist Error in <TQObject::CheckConnectArgs>: slot HandleMenu(int) does
        not exist Error in <TQObject::CheckConnectArgs>: slot HandleMenu(int)
        does not exist Error in <TQObject::CheckConnectArgs>: slot
        EditConfig(int) does not exist Error in <TQObject::CheckConnectArgs>:
        slot HandleMenu(int) does not exist Error in

<TQObject::CheckConnectArgs>: slot HandleMenu(int) does not exist Error
in <TQObject::CheckConnectArgs>: slot PrevEvt() does not exist Error in
<TQObject::CheckConnectArgs>: slot NextEvt() does not exist Error in
<TQObject::CheckConnectArgs>: slot ReloadEvt() does not exist Error in
<TQObject::CheckConnectArgs>: slot FileList() does not exist Error in
<TQObject::CheckConnectArgs>: slot Print() does not exist Error in
<TQObject::CheckConnectArgs>: slot GoTo() does not exist Error in
<TQObject::CheckConnectArgs>: slot GoTo() does not exist Error in
<TQObject::CheckConnectArgs>: slot GoTo() does not exist Error in
<TQObject::CheckConnectArgs>: for signal/slot consistency checking need
to specify class name as argument to RQ_OBJECT macro Error in
<TQObject::CheckConnectArgs>: for signal/slot consistency checking need
to specify class name as argument to RQ_OBJECT macro Error in
<TQObject::CheckConnectArgs>: slot CloseWindow() does not exist
test_evdb.exe [0] The SRT version of EventDisplayBase works well. The ROOT version is 5.22.00c, the systems are Mac OS 10.5.8 and Sci. Linux Fermi 4.4. Any help? Thanks in advance. Regards, Xinchun
Received on Mon Nov 02 2009 - 18:35:54 CET

This archive was generated by hypermail 2.2.0 : Mon Nov 02 2009 - 23:50:02 CET