我做一个基于MFC 对话框的一个程序动态加载dll文件 
dll里有两个函数、和一些变量  一个函数是设置变量的 一个是获取变量的
我在一个button函数里 调用设置变量的函数 跟着做获取变量的函数 获取得到的变量还是设置之前的值而当我用两个button函数 来处理的话 一个设置 一个获取 得到的变量没问题 
求高人 帮看看 

解决方案 »

  1.   

    #pragma data_seg(".MYDATA") 
    //变量定义 
    int i = 0; 
    #pragma data_seg () 
      

  2.   

    变量在DLL里 应该是全局变量的 我现在有两个疑问:1、是不是由于DLL全局变量没有初始化照成的 2、buttn按钮函数里 调用2个DLL函数 属于几个进程。
      

  3.   

    设置变量和获取的变量是不是同一个变量?
    不只是变量的值相同,而是是不是同一个变量,就是内存的地址一样,变量名也一样。或者可以试试在调用完设置变量的函数后,用Sleep()函数停顿一下,然后再获取变量值,这样也许就会得到正确的值了。最好,看一看dll的源代码,看看两个函数是怎么写的,然后调试一下。
      

  4.   

    问题有了新的确定 :
    变量在DLL里为局部变量 在DLL类初始化函数中给变量初始化奇怪的是DLL有两个函数 一个是SET变量 一个是GET变量
    在一个button 消息函数里先执行SET变量函数后 GET变量 得到的值是SET函数之前的值 
    而我把这两个函数放到俩个button消息函数里 get函数得到值没问题 是SET后的值这个问题困扰我好长时间了 求牛人指点 ~~~!!!!