我们是一个移植的项目,要把很多16bit dll移植成32位bit以前没有注意过,今天编译的时候居然发现,编译是成功的,但是好像declare的16bit dll全部无法发现和使用, 但是老的应用程序(估计是在win311平台下用vb3编译的)还能调用这些dll.后来我们分析,是不是因为LoadLibrary已经不支持16bit Dll的加载了? 其实这个也很正常,因为毕竟Dll Walk Dependency已经不支持16bit的DLL了。
有高手出来分析一下,我们推测的是否正确?这些16bit Dll真的无法在32位的平台和编译器下面使用吗?

解决方案 »

  1.   

    在win9x下可勉强使用,其余版本就不行了
      

  2.   

    to  rainstormmaster:如果在9x下面,如何调用呢? 就是普通的declare后就可以使用吗?目前我们用的是winXP,而且target platform已经不包含9x系列平台了。
      

  3.   

    //如果在9x下面,如何调用呢? 就是普通的declare后就可以使用吗?不是的,你可以先看看这个:
    http://community.csdn.net/Expert/topic/4345/4345041.xml?temp=.4545862
    因为现在只有win9x还兼容16位程序,如果可能的话,我建议重写项目或dll,如果不会写,可以到论坛上问
      

  4.   

    to rainstormmaster:我先去看看, 现在那个用vb3编的程序在winxp下面也运行良好,所以我不太清楚只有win9x还兼容16位程序的意思。先谢谢了。