高手请进:请教有关全局变量的问题?

vcmfc 2000-09-10 02:57:00
我用AppWizard产生一个应用程序,在CMYApp中定义了许全局变量,在本exe中,如果其它类需要访问则加入extern CMyApp theApp.以下几个问题请高手解答:
1.在扩展DLL中,如何让DLL中的函数访问到该exe的全局变量?
2.如果我使用动态装入的话(LoadLibrary)的话,如何使该DLL访问到其EXE的全局变量。
...全文
391 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
BluePenguin 2000-09-14
  • 打赏
  • 举报
回复
你用VC6自动生成一个WIN32 DLL工程,其中自然带了一个如何引出全局变量的例子
vcmfc 2000-09-14
  • 打赏
  • 举报
回复
我在Dll中使用
#include "hrt.h"
extern CHrtApp theApp;
结果编译错误-theApp 有问题.
Holly 2000-09-11
  • 打赏
  • 举报
回复
没搞错吧!
普通全局变量的访问是没有限制的!直接使用全局变量即可!
vcmfc 2000-09-11
  • 打赏
  • 举报
回复
Thank You!
还有:那么DLL中如何建立全局变量,以让该DLL的所有类及函数访问到?,在该DLL的类中如何访问该DLL的全局变量?
Holly 2000-09-10
  • 打赏
  • 举报
回复
如果你确实有必要让DLL访问APP的全局变量,建议你在每一个DLL中都引出一个接口用来传递变量的指针或引用,如:
SetGlobalVar(int& nRefVar)或SetGlobalVar(int* ptVar)
在DLL中必须声明一个同类型的指针或引用,用来访问该变量!
如果有多个变量需要这样共享,建议建立结构,然后传递结构的引用或指针!
vcmfc 2000-09-10
  • 打赏
  • 举报
回复
我的意思如下:在我的EXE中怎样建立全局变量,以让我的DLL能访问到,及我的DLL该怎样访问它们.
wsoft 2000-09-10
  • 打赏
  • 举报
回复
不懂?
vcmfc 2000-09-10
  • 打赏
  • 举报
回复
.h
CMyApp App;
使用类构造.cpp
App=(CMyapp*)AfxGetApp();
但是这样在使用很烦麻。
我的主要意思是想设置某此全局变量,并不是一定要放在CWinApp中,因为我使用了10个Dll,该各各个DLL又含有DLL,这样有时会产生某此奇怪的现象,至少目前我碰到。因此请教各位大虾指点迷津,用什么办法最方便.
sxbyl 2000-09-10
  • 打赏
  • 举报
回复
不用这么烦的吧?在一个程序中你随时可以调用AfxGetApp()函数得到一个CWinApp指针(如果有必要你可以强制转换为你的App类型),你不就可以访问其中的成员了?

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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