在用VC编程时,要在两个对话框类之间传递参数。如Dialog1和Dialog2,其中Dialog2是从Dialog1中发送一消息来触发产生的弹出对话框,想要从Dialog1中传递以结构体变量到Dialog2中。我想用全局变量来实现,在Dialog1.cpp中定义的外部变量,在Dialog2.cpp中用extern声明是出现重复定义的错误。定义和声明过程为
//Dialog1.h
struct Vel{
char a[30];
Vel *Next;
}Buffer;class Dialog1: public{
//类的实现
};
声明过程
//Dialog2.cpp
extern Vel Buffer;//以下对Buffer的应用
Buffer在Dialog1中建立一个链表,要在Dialog2中读去。
请问该外部变量该如何实现,或有更好的参数传递方法,请多指教。
不胜感激!
//Dialog1.h
struct Vel{
char a[30];
Vel *Next;
}Buffer;class Dialog1: public{
//类的实现
};
声明过程
//Dialog2.cpp
extern Vel Buffer;//以下对Buffer的应用
Buffer在Dialog1中建立一个链表,要在Dialog2中读去。
请问该外部变量该如何实现,或有更好的参数传递方法,请多指教。
不胜感激!
解决方案 »
- VC如何把从sqlite数据库读出的二进制数据存入xml?
- Flexgrid与CEDIT
- 关于如何抑制Enter按下,对话框会自动关闭的问题
- GDI资源泄漏问题……些谢谢~~~~~~~~~~~~~~~~~~~~
- √在Picture控件(CStatic)上再放入其他控件,为何其他控件在设计和运行时不能正常显示?
- 请教一个关于网络编程上的奇怪问题,在线中
- 怎样在Flexgrid控件的单元格上放置一个控件如EDIT BOX?
- 关于漂亮菜单问题
- Debug和Release对指针地址的分配有何区别? 怎么解决? 就只剩25分了, (zx_sanjin)
- CEdit控件怎么响应回车键,最好有实例代码,即刻送分!
- 3721是如何实现的在安全模式下也无法删除的,是用驱动加服务,
- windows c和windows sdk有何区别??
char a[30];
Vel *Next;
}; = > dialog1.hstruct Vel Buffer; ==> dialog1.cpp
extern struct Vel Buffer; ==> dialog2.cpp不要忘记了include 头文件
符合你的要求吗?
如果不明白,你可以
(1),给我发短消息(请附帖子的地址).
(2),根据http://www.vcshare.net上的联系方式与我联系,推荐QQ.
(3),如果问题简单,请在http://www.vcshare.net/bbs上发帖.
如果问题比较复杂,请把代码压成*.rar当附件发在我的论坛上发帖.
同时在www.csdn.net上发帖,并给出在我的论坛的链接.
---------------
压代码前,请先删除debug,release文件夹,及*.opt,*.ncb,*.plg,*.aps.
最简单的方法是把 struct Vel{char a[30];Vel *Next;}Buffer; 放在stdafx.h中,当然其他头文件中也可以,在Dialog1中形成列表,SendMessage完了之后,即Dialog2处理完了之后,释放该列表。