hur.cn - 华软网

 热门搜索

对话框之间如何通讯

  作者:未知    来源:网络    更新时间:2011/10/6
1, 问题如标题!例如我在一个对话框中(为方便描述这里记为1)定义了一个变量,如何在另一个对话框(记为2)中使用这个变量!
   我是先把(对话框2)类头文件先包含进来了,然后在(对话框类1)中定义一个对话框2的变量再调用,但是有错,求指教,此为vc++6.0下测试的
   2,另外如何定义全局变量,我在对话框类的App中定义提示
tudyscoreDlg.obj : error LNK2005: "int * bRet" (?bRet@@3PAHA) already defined in LOGINDLG.obj
studyscoreDlg.obj : error LNK2005: "int mark" (?mark@@3HA) already defined in LOGINDLG.obj
Debug/studyscore.exe : fatal error LNK1169: one or more multiply defined symbols found
 以上的错误 
  求指教啊
---华软 网友回答---
你定义的变量已经定义了把
---华软网友回复---
在对话框一的cpp中定义全局变量extern int mark
在对话框二的cpp中再定义这个变量int mark
这样你的mark变量就可以使用了
---华软网友回复---
两个类:class A,class B
假如你想在A里边使用B,那么在A的头文件声明B(如:class B),然后在A的cpp文件里边保护B的头文件。
反之亦然。
---华软网友回复---
通过SendMessage 通信 
---华软网友回复---
在工程.h文件中声明外部变量extern ...,在 工程.cpp文件中定义变量,然后在工程中就可以用了
---华软网友回复---
方法有很多种,可以考虑如下几种:
1.如上面所说,使用全局变量。
2.可以使用static成员变量,然后使用public静态成员函数来取该变量的值。在对话框1关联的类中定义静态变量和成员之后,你在对话框2中需要调用1中的变量时初始化一个对话框1的对象或者类指针,调用该静态方法即可。
3.定义一个变量,为该变量添加get member方法。在对话框2中声明对象,请注意该方法和第二种方法的区别。

---华软网友回复---
ok,试试,呵呵,谢了
---华软网友回复---
我觉得楼主的本意是不是这样的,在对话框2中使用对话框1,如果是这样,应该是在对话框2中定义对话框1的变量,再使用(但最好是全局指针)。这样的事情的经常干,百试百爽,没有出现过楼主的现象。有时候注意文件之间的包含关系就不会错了。
---华软网友回复---
  恩,恩!对的!这个昨天已经改正了,呵呵!谢谢回复了!但是今天又碰到了个问题就是单击某个按钮后,总会出现[img=http://hi.csdn.net/space-8598605-do-album-id-106059.html][/img]   就是什么已经停止工作! 但是这个程序又能够正常工作。不知道何故啊! 希望解答! 这次没分  下次补上,呵呵
---华软网友回复---
[img=http://hi.csdn.net/space-8598605-do-album-picid-939233.html][/img]      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。