首页 > 解决方案 > Creo Parametric OBJECT TOOLKIT - 在事件侦听器类中传递变量

问题描述

我正在开发一些代码以与 3D 软件程序同步运行。

我已经使用它的工具创建了一个菜单,但是默认情况下,我无法传递来自连接到动作侦听器的不同功能的变量。我将发布分布在与单个函数相关的多个文件(来自我的 3D 软件 API)中的多个代码片段。我想知道我应该在这些文件中编辑什么以便不使用全局变量(如果我无法弄清楚这最终会发生什么)。

我省略了其他控件的代码。我想要的是通过 I_NomeInputPanelListener() 传递一个变量,但这是我的主要代码(创建对话框)。

        uifcDialog_ptr parafusos = uifcDialogFind(PARAFUSOS_DIALOG, PARAFUSOS_DIALOG);
        ParafusosDialogListener *parafusosLis = new ParafusosDialogListener();
        parafusos->AddActionListener(parafusosLis);

        i_diametro = uifcOptionMenuFind(PARAFUSOS_DIALOG, PARAFUSOS_I_DIAMETRO);
        I_DiametroOptionMenuListener *i_diametroLis = new I_DiametroOptionMenuListener();
        i_diametro->AddActionListener(i_diametroLis);

        status = uifcActivateDialog(PARAFUSOS_DIALOG);

这是我的头文件:

        class I_DiametroOptionMenuListener : public uifcDefaultOptionMenuListener
        {
            public:
            I_DiametroOptionMenuListener() {}
            ~I_DiametroOptionMenuListener() {}

            void OnItemSelect(uifcOptionMenu_ptr handle);
        };

此代码存在于软件 API 文件中:

        class uifcDefaultOptionMenuListener : public uifcOptionMenuListener
        {
            void                OnItemSelect (uifcOptionMenu_ptr handle) {}
        };

        class uifcOptionMenuListener : virtual public uifcComponentListener
        {
            xaideclare (uifcOptionMenuListener)

            protected:
            virtual ~uifcOptionMenuListener ()
            {
            }

            public:
            virtual void        OnItemSelect (uifcOptionMenu_ptr handle) = 0;
        };

        class uifcComponentListener : virtual public xobject
        {
            xaideclare (uifcComponentListener)

        public:
            virtual ~uifcComponentListener ()
            {
            }
        };

我尝试在所有类中的所有函数 OnItemSelect 中添加一个“,int var)”,但我尝试打印一个 int = 10 并且得到了数亿。

我不知道您是否可以帮助我,或者我是否应该首先弄乱这些文件。无论如何,欢迎任何帮助我不使用全局变量的建议。

标签: c++

解决方案


推荐阅读