这类变量应该放在哪合适?

jackfeige 2009-02-15 07:45:59
程序是SDI单文档应用程序

在主界面装载之前我DoModal出了一个登陆对话框,分别有3种权限登陆方式,我想把登陆方式保存起来以便后面程序能通过不同的登陆方式享有不同的权限,但不知道登陆权限变量放在哪里才能使整个程序的不同类都能访问到
考虑过放在theApp里,但不知道怎么放!
...全文
84 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackfeige 2009-02-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 oyljerry 的回复:]
((CReckonApp *)AfxGetApp())->m_users="normal";
[/Quote]
OK搞定,结贴给分
oyljerry 2009-02-15
  • 打赏
  • 举报
回复
((CReckonApp *)AfxGetApp())->m_users="normal";
jackfeige 2009-02-15
  • 打赏
  • 举报
回复
//=========ReckonApp.H=============
class CReckonApp : public CWinApp
{

public:
CString m_users;
public:
CReckonApp();
.......

//==============Logon.h=========
void CLogon::OnOK()
{

UpdateData();
switch(m_user)
{
case 0:
if(m_password=="")
AfxGetApp()->m_users="normal";
......


错误提示:
D:\20090202\reckon\Logon.cpp(56) : error C2039: 'm_users' : is not a member of 'CWinApp'
c:\program files\microsoft visual studio\vc98\mfc\include\afxwin.h(4031) : see declaration of 'CWinApp'
D:\20090202\reckon\Logon.cpp(58) : error C2181: illegal else without matching if
Error executing cl.exe.
wltg2001 2009-02-15
  • 打赏
  • 举报
回复
m_User放在哪啊,放在CxxxApp.h里,后面的类使用AfxGetApp()->m_User好象找不到
========================================
你是不是将它定义为CxxxApp类的成员变量了啊,如果是的话应该能访问到的,实在不行定义在全局变量吧
jackfeige 2009-02-15
  • 打赏
  • 举报
回复
就是public啊
oyljerry 2009-02-15
  • 打赏
  • 举报
回复
CxxxApp的成员变量,public定义
jackfeige 2009-02-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 oyljerry 的回复:]
theApp中定几个成员变量就可以 m_User,
其他类就可以用AfxGetApp()->m_User来访问了
[/Quote]

m_User放在哪啊,放在CxxxApp.h里,后面的类使用AfxGetApp()->m_User好象找不到
biweilun 2009-02-15
  • 打赏
  • 举报
回复
不算难。你比如在按某个菜单项的时候,呼出了模式对话框,你可以把变量放在这个菜单项的事件处理程序代码里,因为对话框的返回还是会返回到它的事件里的。完全没必要放进theApp里面。
oyljerry 2009-02-15
  • 打赏
  • 举报
回复
theApp中定几个成员变量就可以 m_User,
其他类就可以用AfxGetApp()->m_User来访问了
bitxinhai 2009-02-15
  • 打赏
  • 举报
回复
可以放在app类中,
也可以定义一个登陆方式记录类,
给这个定义一个静态的变量,
专门用来存储登录方式

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧