找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 21186|回复: 17
打印 上一主题 下一主题

[求助] UI对话框

[复制链接]
跳转到指定楼层
1
发表于 2011-3-5 13:28:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
void UserDialogExitAction(char *dialog_name_,char *component_,ProAppData data_);
ProError UserCreateDialog()
{
ProError status;
int dialog_stats;
char * dialog_name="CreateDialog";
//加载对话话
status=ProUIDialogCreate(dialog_name,dialog_name);
if(status!=PRO_TK_NO_ERROR)
{
  AfxMessageBox(_T("Dialog create error!"));
  return status;
}
//设置对话框各元件的值
ProUIPushbuttonActivateActionSet(dialog_name,"OK",(ProUIAction)UserDialogExitAction,NULL);
ProUIPushbuttonActivateActionSet(dialog_name,"Cancel",(ProUIAction)UserDialogExitAction,NULL);
//显示对话框
status=ProUIDialogActivate(dialog_name,&dialog_stats);
if(status!=PRO_TK_NO_ERROR)
{
  AfxMessageBox(_T("Dialog activate error!"));
  return status;
}
//从内存清除对话框
status=ProUIDialogDestroy(dialog_name);
if(status!=PRO_TK_NO_ERROR)
{
  AfxMessageBox(_T("Dialog destroy error"));
  return status;
}
return status;
}
//对话框取消按钮动作函数
void UserDialogExitAction(char *dialog_name_,char *component_,ProAppData data_)
{
ProUIDialogExit(dialog_name_,1);
}

//问题是,第一次执行成功,单击OK后,再执行第二次时就 AfxMessageBox(_T("Dialog create error!"));
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2011-3-6 22:25:21 | 只看该作者
你可以先試試看在ProUIDialogDestroy後把dialog_stats印出來看是不是1
3
发表于 2011-3-7 09:07:58 | 只看该作者
status=ProUIDialogActivate(dialog_name,&dialog_stats);
        if(status!=PRO_TK_NO_ERROR)
        {
                AfxMessageBox(_T("Dialog activate error!"));
                return status;
        }
        CString str;
        str.Format(_T("%d"),dialog_stats);
        AfxMessageBox(str);
       //从内存清除对话框
        status=ProUIDialogDestroy(dialog_name);
        if(status!=PRO_TK_NO_ERROR)
        {
                AfxMessageBox(_T("Dialog destroy error"));
                return status;
        }
        //str.Format(_T("%d"),dialog_stats);
        AfxMessageBox(str);
       return status;
}

前后都是1
4
发表于 2011-3-7 09:50:33 | 只看该作者
你的code我看了幾遍
感覺應該沒有錯
實在是不清楚為什麼第二次會失敗??
只是我的習慣會是

static void UserDialogExitAction(char *dialog_name_,char *component_,ProAppData data_);
static  char * dialog_name="CreateDialog";

ProError UserCreateDialog()
{
....
}

void UserDialogExitAction(char *dialog_name_,char *component_,ProAppData data_)
{
   ProUIDialogExit(dialog_name_,1);
}
5
发表于 2011-3-7 10:47:14 | 只看该作者
谢谢!我试下你的方法
6
发表于 2011-3-7 14:14:13 | 只看该作者
照你的方法也不行,是不是VC2008配置的问题?[

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7
发表于 2011-3-7 14:56:52 | 只看该作者
VC2008? 所以你用的是ProE5.0嗎?
8
发表于 2011-3-7 18:01:18 | 只看该作者
不是,是VC2008+ProE4.0
在写UI对话框之前一直都没问题的
我看有些配置(上图)忽略特定库中有忽略两个库,我没有
要是忽略编译就有问题了.下图是论坛上的配置

本帖最后由 hyccai 于 2011-3-7 18:05 编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
9
发表于 2011-3-7 18:27:51 | 只看该作者
我不知道真正的問題在哪裡

但是ProE4的.lib都是用VC2005 build的
ProE5的.lib才是用VC2008
這些在PTC的網上有說明

我自己的code ProE4就用2005 ProE5就用2008
做了很多UI對話框都沒碰到問題
10
发表于 2011-3-8 15:25:30 | 只看该作者
能不能说下你VC2005+PROE4.0是怎么配置的,我想用VC2005,实在没办法了
最好能详细点了,如果有时间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-1-4 02:27 , Processed in 0.025085 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表