如题  如何在基于对话框中定义全局变量在Stdafx.H里申明
extern int pData[5];
在Stdafx.cpp里定义
int  pData[5]={0};这样定义使用对吗对吗

解决方案 »

  1.   

    如果这个全局变量用的地方比较多可以定义在APP中。
    不要把你的东西方Stdafx.h(cpp)里,他和预编译有关。
    如:class CxxxApp : public CWinApp
    {
    int         m_ComTypeNow;
    char        m_szStationName[40];
    char        m_szIPadress[20];
    char        m_szPort[10];
    //用时:在用的cpp中加:
    extern CxxxApp theApp;
    //或者:CWinApp* AfxGetApp( ); 
    strcpy(theApp.m_szIPadress,szIPadr);
      

  2.   

    可以在任意的.cpp中声明,只要不在函数内部就行。
      

  3.   

    完全可以。在Stdafx.H里申明
    也可以这样 extern int pData[];//引用的是数组变量
      

  4.   

    俺是这么做的这是.h里面的#define SNOOPEREXTERN externSNOOPEREXTERN TCHAR *g____Text_Buf; //全局文本缓冲,有0x10000大小
    SNOOPEREXTERN int g____Textp; //指针
    SNOOPEREXTERN int g____OldTextp;
    SNOOPEREXTERN HWND g____TheViewHandle; //view的hwnd
    SNOOPEREXTERN CRichEditCtrl *g____pEdit; //RichEdit控件#ifdef SNOOPEREXTERN
    #undef SNOOPEREXTERN
    #endif#define SNOOPEREXTERNSNOOPEREXTERN TCHAR *g____Text_Buf; //全局文本缓冲,有0x10000大小
    SNOOPEREXTERN int g____Textp; //指针
    SNOOPEREXTERN int g____OldTextp;
    SNOOPEREXTERN HWND g____TheViewHandle; //view的hwnd
    SNOOPEREXTERN CRichEditCtrl *g____pEdit; //RichEdit控件
    SNOOPEREXTERN HWND g____TheFrameHandle; //frame的hwnd
    SNOOPEREXTERN HWND g____TheScheduleHandle; //时序工具的hwnd这是.cpp里面的,方法虽然笨,好处是同一份代码在两面一粘贴就行了。
      

  5.   

    我是在.app里定义的,我也是基于对话框的,CMyApp里定义一个全局变量是不是也是可以的,我想就多媒体定时器的问题跟你好好讨论下
      

  6.   

    你是MFC产生的对话框吗,那就一定有CxxxApp类,他是你用类向导产生时IDE为你产生的。
    如果是SDK那就更好办了,随便定义在哪里(g_Xxxx),用时extern就行了