我的程序要调用工程文件夹下面的xx.dll,语句如下:
Public Declare Function Blur Lib "xx.dll" (ByVal DestDC As Long, ByVal DestX As Long, ByVal DestY As Long, ByVal DestWidth As Long, ByVal DestHeight As Long, ByVal SrcDC As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal SrcWidth As Long, ByVal SrcHeight As Long, Optional ByVal Flags As Long = 0) As Long
可是总是说找不到动态链接库,是什么原因呢?
工程文件夹为“d:\ffx\”如果在代码中把xx。dll改成绝对路径“d:\ffx\xx。dll”就可以了,vb查找动态链接库的顺序什么?难道必须把xx.dll拷贝到系统目录下才可以吗?

解决方案 »

  1.   

    你的dll注册了没有?VB将指向你的注册路径,如果没有注册,则只能用绝对路径了,否则VB怎么知道你的Dll在哪呢。
      

  2.   

    如果拷到系统目录下应该没问题(win2000是system32)
      

  3.   

    vb会在系统目录,当前目录和环境变量PATH的目录中查找,你只要将dll和你的程序放在同一个目录中就可以了;你所说的问题可以由于在vb中运行时当前目录不是你的工程文件说在目录,你可以通过双击工程文件启动vb来打开工程的方法来解决这个问题
      

  4.   

    xx.dll 是你用VB写的吗?VB写的DLL不能用Declare来声明,只能用CREATEOBJECT来创建对象
      

  5.   

    同意 gcj123(佛的光辉)的答案