如题.

解决方案 »

  1.   

    在DLL中做一个接口嘛,比如:
    int GetValue();
    外面exe就调用GetValue取DLL中变量的值
      

  2.   

    区取DLL中的函数的地址GetProcAddress()通过其地址进行操作.
      

  3.   

    如果你的DLL可以修改,那用1楼的方法简单些.
      

  4.   

    一样是用GetProcAddress,参数给导出变量名,返回的是变量地址。例如:
    DLL中定义:
    int x;
    DEF中:
    EXPORTS
    x
    EXE中:
    LoadLibrary(……
    int* px = (int*)GetProcAddress("x");
    px是x的地址,*px就是x的值。
      

  5.   

    DLL中的这个变量是字符串,又该如何做?
    一楼的方法是好,但是,在DLL中的函数返回CString;我还没有用好,在EXE的函数中调用会有问题.所以想引用DLL中的变量.
    满天星说的我见过,也试过,但和你说的不完全一样,没成,我下去再试试.方法改成下面这样,不知道能不能行?CString x; 
    DEF中: 
    EXPORTS 

    EXE中: 
    LoadLibrary(…… 
    CString * px = (CString *)GetProcAddress("x"); 
      

  6.   

    dll中的变量定义在头文件里,不就行了
      

  7.   

    弱问一句Lz:为啥要取得DLL中的值呢???
    Dll是提供一个接口,我们通过调用其功能的,其实数据应该是我们(exe程序)提供的啊。DLL只是对我们提供的数据进行一定的操作啊。
    以上是我的理解,声明我是最近了解DLL的,有不对的地方大家见笑了。对于lz的问题,是不是我们在应用程序中定义一个变量(exe中)然后通过指针传给Dll,这样需要的数据不就我们顺手就得到了吗?不知道我的回答是不是答非所问,但愿对LZ有帮助。
      

  8.   

    我想用DLL处理数据后传回,返回用CString 也可以,但常出问题.该问题没解决,满天星讲的试了没成,不知道哪有问题,后来就用返回值是CString ,均为发行模式时,不报错,调试模式仍有问题.