在delphi中调用:
    Function Des(pTxt:DWORD; pKey:DWORD; pResult:DWORD):Integer;stdcall;Far;External 'ssdll.dll';
    正常运行
在VC++2003中:
hDLL = LoadLibrary(sDllPath+"\\SSdll.dll");
        中运行,hDLL=NULL,而GetLastError()=0,
    在同样的条件中,另外一个DLL文件,能够正常运行.    原因是什么?

解决方案 »

  1.   

    ssdll.dll这个dll是否依赖其他的dll?
      

  2.   

    VC自带有一个工具 Depends.Exe
      

  3.   

    我查出来,它依赖MFC70.dll与MSVCR70.DLL
    我使用的是VC++2003,使用MFC71.dll与MSVCR71.DLL
    我应该如何处理?
      

  4.   

    我把MFC70.dll与MSVCR70.DLL 复制到ssdll.dll目录中。还是不行
      

  5.   

    使用eXeScope查看该动态库调用的其它动态库及其他动态库又调用的动态库,看有没有系统中缺少的
      

  6.   

    Delphi 调用的是 'ssdll.dll';
    VC调用的是 sDllPath+"\\SSdll.dll";两个程序调用不同的东东它怎么就能一样了?建议你两个地方都换成绝对路径再试试,如果表现还不一样就说明那个 dll 是delphi专门为自己生成的私有格式的dll,不能被VC调用。