iCAx开思工具箱

标题: 【求助】UG中UISTYLER对话框调用问题 [打印本页]

作者: axve    时间: 2002-10-30 17:48
标题: 【求助】UG中UISTYLER对话框调用问题
从一个对话框调用另一个对话框,应怎样实现?
我按照程序中的说明一步步做,怎么都不成功
  
高手救命啊
作者: darkhorse    时间: 2002-10-30 17:51
你不是在巧涂网问过了吗?
回答的也没有错呀,给出你的思路和源代码。
作者: axve    时间: 2002-10-30 19:35
思路是这样的,在UISTYLER中建立11.dlg和22.dlg两个对话框,
11对话框中有一个push button(已选中call back中的creat dialog复选框),按下这个按钮调出22对话框。
  
我在vc中建立一个名为11的dll工程,将11_template.c和11.h加入11这个工程,按程序中的说明进行修改,编译连接,并建立custom.men文件,能够从菜单中调出11.dlg对话框。
然后我将22_template.c和22.h加入到11工程中,按程序中的说明删去22_template.c中的#ifdef DISPLAY_FROM_CALLBACK
和#endif DISPLAY_FROM_CALLBACK,将<enter the name of your function>修改为li,并在22.h头文件中
加入extern int li( int *response )函数声明,在11_template.c中的
int CHANGE_22 ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)函数中加入li(response);函数调用,
调试时提示错误说response未定义。在CHANGE_22函数之前加
int *response;一句,调试通过。
在ug里打开11对话框,点中push按钮("hello"按钮),未能弹出22对话框,并在提示行显示Invaild argument.
  
不知是何处错误,请高手指示。
  
源代码在附件里
作者: axve    时间: 2002-10-31 15:40
有没有人能够帮助我啊?急!!!
作者: zzz    时间: 2002-10-31 15:51
在11_template.c中,应为
  
int CHANGE_22 ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
int *response;
  
    /* Make sure User Function is available. */   
     if ( UF_initialize() != 0)  
          return ( UF_UI_CB_CONTINUE_DIALOG );
  
     li(response);
  
     UF_terminate ();
  
    /* Callback acknowledged, do not terminate dialog */
    return (UF_UI_CB_CONTINUE_DIALOG);  
    
    /* or Callback acknowledged, terminate dialog.    */
    /* return ( UF_UI_CB_EXIT_DIALOG );               */
  
}
作者: axve    时间: 2002-10-31 17:02
这次点击"hello"按钮时提示 Internal error:memory access violation,仍未弹出22对话框
  
为什么还是做不出来呢? 郁闷!
作者: axve    时间: 2002-11-2 14:35
恕我愚笨,可否将调试成功的程序源代码发给我一份?
axve@163.com
谢谢
作者: zzz    时间: 2002-11-2 17:32
int CHANGE_22 ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
  
int response;
  
    /* Make sure User Function is available. */   
     if ( UF_initialize() != 0)  
          return ( UF_UI_CB_CONTINUE_DIALOG );
  
     li([$response)]
  
     UF_terminate ();
  
    /* Callback acknowledged, do not terminate dialog */
    return (UF_UI_CB_CONTINUE_DIALOG);  
    
    /* or Callback acknowledged, terminate dialog.    */
    /* return ( UF_UI_CB_EXIT_DIALOG );               */
  
}
  
这样就可以了,运行通过。
作者: axve    时间: 2002-11-4 16:33
通过了!zzz,太感谢了!!!
作者: wlzhao33    时间: 2003-3-10 10:15
热烈欢迎zzz斑竹!!!!!!
请问斑竹和awve,custom.men这个文件有什么用途呀?是用记事本打开看其中的内容吗?请指点!!!谢谢!
作者: zzz    时间: 2003-3-10 11:09
这时你的菜单文件。有了这个文件,UG可以把你设计的菜单调进来。
作者: birdstar    时间: 2003-5-1 19:47
请问一下各位response在这里起什么作用啊!
作者: spline    时间: 2003-5-2 07:59
得到你按了那个健
作者: talk    时间: 2003-5-4 12:21
请高手指点:
在axve所提供的程序中,在11.h和22.h中以下三句都被去掉了
#ifndef 01_H_INCLUDED
#define 01_H_INCLUDED
#endif /* 01_H_INCLUDED */
而在原来生成的文件中是没有被去掉的,请问为什么必须要这样做?
作者: spline    时间: 2003-5-5 11:10
这些都是预编译指令,是为了避免重复包含的。一般是不能去掉的,不然就会出现变量或函数重复定义的情况。
例子我还没看,不好意思
作者: ice-snow    时间: 2006-2-26 11:38
真好!
作者: andrew_lix    时间: 2006-3-9 10:59
ths!
作者: lhtown    时间: 2006-3-11 18:23
zzz (论坛元老) 你好,您给出的代码中的 li([$response)]  是什么函数?看不懂?
作者: zhangruzhen    时间: 2006-4-24 10:14
请问一下
li([$response)]   是什么意思呀?
谢谢
作者: zhangruzhen    时间: 2006-4-24 10:50
标题: 请问一下UISTYLER中的选项卡怎么用的?
请问一下UISTYLER中的选项卡怎么用的?
我要做3个选项卡,做了第一个后不知道怎么做第二个?
请高人指点
谢谢
作者: aism    时间: 2006-6-5 17:55
标题: 请zzz帮忙
我在做对话框调多话框时遇到了 问题。
我用
int CHANGE_22 ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
   
int response;
  
    /* Make sure User Function is available. */   
     if ( UF_initialize() != 0)  
          return ( UF_UI_CB_CONTINUE_DIALOG );
  
     li([$response)]
  
     UF_terminate ();
  
    /* Callback acknowledged, do not terminate dialog */
    return (UF_UI_CB_CONTINUE_DIALOG);  
     
    /* or Callback acknowledged, terminate dialog.    */
    /* return ( UF_UI_CB_EXIT_DIALOG );               */
  
}
也没有通过,编译时说li未定义。还有https://www.icax.org/viewthread.php?tid=112773上的例子也没有运行成功。请帮忙解决一下,先谢了。


麻烦把https://www.icax.org/viewthread.php?tid=112773的代码再发给我一下。


E-Mail:timepire@163.com
作者: ggcua    时间: 2006-9-11 14:25
bucuoa     !!!!!!!!!!!!!!!!!!!!!!!!!
作者: sky9987    时间: 2006-9-19 11:41
men是往工具栏,菜单栏添加按键的
作者: chengcheng82    时间: 2006-10-11 10:35
请问一下,return ( UF_UI_CB_CONTINUE_DIALOG );是什么意思啊?另外 ,从哪里能找到UFHunter 这个函数搜索工具呢?多谢!
作者: s461785    时间: 2006-12-15 15:05
li([$response)]括号有没有反啊   呵呵  感觉这个式子 很怪啊
作者: xbzlyt    时间: 2007-4-12 15:23
我学学不来
作者: abcmrf    时间: 2011-3-7 11:41
我一直找这个问题的解决办法,太难了!!
作者: 789zenghong    时间: 2011-10-2 10:34
.
路过的
作者: nweijidian12    时间: 2013-6-1 21:09
看来我是完全搞不了UG的二次开发了,到了高版本,二次开发的语言完全看不懂了,悲剧啊!!
作者: qingkongaaa    时间: 2013-7-23 21:27
ZZZ 球帮助
作者: cayjaycay    时间: 2013-10-1 13:12
嗨!你好~能不能加个qq,咨询探讨一些UG二次开发的问题~?谢啦!

作者: cayjaycay    时间: 2013-10-1 13:13
zzz 发表于 2002-10-31 15:51
在11_template.c中,应为
  
int CHANGE_22 ( int dialog_id,

嗨!大神,你好~能不能加个qq,咨询、请教一些UG二次开发的问题~?谢啦!

作者: jimk    时间: 2014-11-13 08:48
学习一下,谢谢





欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3