我用一个MFC非模态对话框调用几个带UG入口函数的动态库,得到几个二级对话框,如果用完一个对话框,关掉,起动另一个,没问题。可是当我用了一个对话框,忘记关掉就另起动了一个对话框,没关掉的对话框就被隐藏起来(应该没关掉)后面的对话框就不能正常运行了,为什么呢?我用的部分代码如下:
1。这是二级对话框的动态库入口函数(这是其一,其它类似)://#ifdef DISPLAY_FROM_USER_EXIT
extern void ufusr (char *param, int *retcode, int rlen)
{
int response = 0;
int error_code = 0;
// if ( ( UF_initialize() ) != 0 ) //一级对话框已初始化
// return;
UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);//加锁
if ( ( error_code = UF_STYLER_create_dialog ( "h.dlg",
CHANGE_cbs, /* Callbacks from dialog */
CHANGE_CB_COUNT, /* number of callbacks*/
NULL, /* This is your client data */
&response ) ) != 0 )
{
char fail_message[133];
/* Get the user function fail message based on the fail code.*/
UF_get_fail_message(error_code, fail_message);
UF_UI_set_status (fail_message);
printf ( "%s\n", fail_message );
}