我在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.
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-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 ); */