我用VC写了一个DrawDll.dll,在Delphi里调用。在Delphi中的函数声明形式如下:
procedure OnDraw(hWnd:HWND;ptOrg:TPoint);  Stdcall;external 'DrawDll.dll' name 'OnDraw';
在Win98和XP中运行正常,但在Win2000中一运行就出现:无法找到动态链接库DrawDll于指定的路径C:\...;
C:\WINNT\system32;D:\WINNT;...上。请问怎么解决?急急急?

解决方案 »

  1.   

    有没有调用io之类的东西,win2000以上是不允许调用的
      

  2.   

    把dll和exe放在同一个目录里,应该不会出现这个问题,如果是,你还是检查一下程序吧,有没有使用绝对路径了?
      

  3.   

    估计 是你的DLL的输出函数名称问题,建议 使用Export文件输出,系统生成的时候会增加一些其它的怪字符,你可以用VC的Dependence Walker察看一下函数的输出是否完全正确,这个问题是跨开发平台的常见问题了。
      

  4.   

    谢谢大家!我找到原因了,原来是声明一些函数时把'DrawDll.dll'的.dll丢了,变成'DrawDll'了,真见鬼怎么偏偏98和XP中行的。