为了账号安全,请及时绑定邮箱和手机立即绑定

折腾了几天,没有进展,在这里向各位大侠请教:

折腾了几天,没有进展,在这里向各位大侠请教:

C
繁华开满天机 2023-02-17 22:18:13
 在C#的MyForm里,定义了静态变量 private static Session theSession; private static UFSession theUfSession; private static UFMb.Action actionTable; Main()函数如下: public static void Main() { theSession = Session.GetSession(); theUfSession = UFSession.GetUFSession(); actionTable.action_cb.cb = new UFMb.CallbackT(SAMPLE_APP__action1); actionTable.action_name = "SAMPLE_APP__action1"; theUfSession.Mb.AddActions(ref actionTable); } 回调函数如下: public static UFMb.CbStatus SAMPLE_APP__action1(IntPtr inp1,IntPtr inp2,ref MbActivatedButton button) { UFMb.CbStatus CbStatus = UFMb.CbStatus.CbContinue; theForm = new MyForm(); theForm.Show(); return CbStatus; } 将MEN文件及DLL放到startup下,启动NX3.0之后,点击菜单按钮,弹出错误对话框:没有登记该按钮上的操作。 通过菜单条报告工具查看信息,对应的菜单按钮: Actions: <actions not registered> 显然没有注册成功。 请高人指点,谢谢!
查看完整描述

2 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

这是我在vc里的成功例子,除了下面的代码,其他没有任何变量声明。实现一个菜单调用一个函数。希望对你有所借鉴。对你的代码没有看的太清除。 static UF_MB_cb_status_t Load_Library( UF_MB_widget_t widget, UF_MB_data_t client_data, UF_MB_activated_button_p_t call_button ) { DisplayDialog(); return( UF_MB_CB_CONTINUE); } static UF_MB_action_t actionTable[]= { {"Load_Library",Load_Library,NULL}, {NULL,NULL,NULL} }; extern void ufsta( char *param, int *returnCode, int rlen )//主函数 { int errorCode = UF_initialize(); if ( 0 == errorCode ) { UF_MB_add_actions(actionTable); errorCode = UF_terminate(); } }

查看完整回答
反对 回复 2023-02-20
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

另外,在VC下,如果actionTable是局部变量而不是静态变量,注册也失败?

查看完整回答
反对 回复 2023-02-20
  • 2 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信