搞定这个问题肯定是高手,我打开一个对话框时,跳出消息:an unsupported operation was attempted
本来是可以打开的,但是我删了几个消息函数后就打不开对话框了
问题点数:100、回复次数:24Top
1 楼panda_w(好想睡啊!)回复于 2001-04-18 17:33:00 得分 0
你删除了什么消息函数呢?
太笼统了,说的明白一些Top
2 楼xiyuanxu(xyx)回复于 2001-04-18 17:38:00 得分 0
就是对话框上的button的函数,我先从classwizard里面删除函数,在删除函数体,编译没问题,就这样Top
3 楼HWLee(执著是我最痛!)回复于 2001-04-18 17:40:00 得分 0
是呀,你删除了什么????
Top
4 楼Luck04()回复于 2001-04-18 17:43:00 得分 0
那好像不太可能...Top
5 楼panda_w(好想睡啊!)回复于 2001-04-18 17:45:00 得分 0
应该不会的啊,是不是别的地方的错误啊Top
6 楼xiyuanxu(xyx)回复于 2001-04-18 17:52:00 得分 0
我真的就是这样做的,别的地方功能正常Top
7 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-04-18 17:54:00 得分 0
感觉想是一个刚进手术室的小医生说:这人本来是活的呀,我只是打开他的肚子,拿掉点
杂碎,他就不再醒来了.呵呵。
开开玩笑,一定是别的地方错了,或者多删了东西。多调试一下或者重建工程吧。Top
8 楼xiyuanxu(xyx)回复于 2001-04-18 17:57:00 得分 0
to vcbear:
别开玩笑了,我真还没那么菜,现在就只是打不开这个对话框,我着急赶任务,所以求大家了Top
9 楼xiyuanxu(xyx)回复于 2001-04-18 18:07:00 得分 0
mHdrDlg = new HdrDlg(this);
mHdrDlg->Create(IDD_HEADERS,this);//错误就是它产生的
Top
10 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-04-18 18:17:00 得分 0
按F11跟踪进去Top
11 楼xiyuanxu(xyx)回复于 2001-04-18 18:21:00 得分 0
我按F11跟踪进去就是汇编,我的汇编不行
004085BE push ebp
004085BF mov ebp,esp
004085C1 push 0FFh
004085C3 push 40A620h
004085C8 push 408744h
004085CD mov eax,fs:[00000000]
004085D3 push eax
004085D4 mov dword ptr fs:[0],esp
Top
12 楼xiyuanxu(xyx)回复于 2001-04-18 18:27:00 得分 0
我补充一下,我删掉了BUTTON的函数后,在资源编辑框里删掉了BUTTONTop
13 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-04-18 18:34:00 得分 0
1.mHdrDlg new没有成功
2.IDD_HEARERS对应的资源没有了Top
14 楼In355Hz(好象一条狗)回复于 2001-04-18 18:34:00 得分 0
实在看不出问题...ReBuild All试试。Top
15 楼xiyuanxu(xyx)回复于 2001-04-18 18:51:00 得分 0
IDD_HEADERS肯定在,否则会有编译错,我只是删掉了一个BUTTON及相关的click函数,
我现在把代码增加一条语句如下:没有弹出消息框,看来mHdrDlg new应该成功
原来:
mHdrDlg = new HdrDlg(this);
mHdrDlg->Create(IDD_HEADERS,this);//错误就是它产生的
现在:
mHdrDlg = new HdrDlg(this);
if (mHdrDlg==NULL)
::MessageBox(NULL,"","",MB_OK);
mHdrDlg->Create(IDD_HEADERS,this);Top
16 楼crazyyoung(浪淘沙)回复于 2001-04-18 19:12:00 得分 0
最笨的法子是将你删掉的恢复,再试一试Top
17 楼xiyuanxu(xyx)回复于 2001-04-18 19:35:00 得分 0
谢谢大家的帮助,问题我自己已解决了,
看来我说错了,高手还是高手,搞不定也是,
不是高手的就不是高手,搞定了也不是,因为问题原因很简单,不值一提也,
答案我暂时不说,分给说对了的人
Top
18 楼ycw(Jackey)回复于 2001-04-20 12:48:00 得分 0
smile again and again....
没错,牛人还是牛人,菜鸟还是菜鸟....哈哈
一句话:实践出真知,牛人也罢,菜鸟也罢,仅此而已.....
mHdrDlg = new HdrDlg(this);
mHdrDlg->Create(IDD_HEADERS,this);//错误就是它产生的
mHdrDlg->ShowWindow(SW_SHOW); //ok,搞定....
嘿嘿,给分吧.....
Top
19 楼adidasprince(阿达王子)回复于 2001-04-20 13:20:00 得分 0
拜托楼上的,人家说以前打得开的呀。
是不是把这个button定义过变量,但是没有删掉,在DataExchange里面就出错?Top
20 楼seesi(不是我想骗你,是我不知道怎么才能不骗!)回复于 2001-04-20 13:27:00 得分 80
删除了按钮关联的变量没有,调试一下DoDataExchange函数?Top
21 楼111222(www.111222.cn)回复于 2001-04-20 13:32:00 得分 20
肯定是资源ID和DDX定义的不一样了!!Top
22 楼saiwai76(xiaoxiao)回复于 2001-04-20 15:00:00 得分 0
不要卖"牛"了,稍有点VC实际经验者就可解决你的问题.
这个问题说明你对DO_DATAEXCHANG()函数不了解.好好读读老侯的
深入浅出MFC,再研读一下MFC源代码.这样你会大大提高C PLUS PLUS编程能力
(注意:不仅仅是VC++).
超越VB,VC乃至WINDOWS的人多一点,俺们的软件业希望就大了!Top
23 楼lwg7603(刑满释放人员)回复于 2001-04-20 18:12:00 得分 0
用SDK肯定不会出现这种烂问题!!!Top




