我自己用网上的方法,用VB编译了一个DLL文件,文件在运行中也能正常,不过,当exe(VB编译)文件传递一个字符串参数给DLL,通过窗口检查,发现传进去后字符串变成了乱码,导致后续工作无法继续!传递数值参数就可以正常,这是什么原因?如何解决啊?请高手帮帮我!!我实在没有办法了!

解决方案 »

  1.   

    1.你检查一下,传至DLL的数值与DLL中要求的数值类型是否相同.
    2.再次检查一下,你传递的方式是按什么方式?即byval 还是byRef
      

  2.   

    这个是EXE引用:
    Declare Function oss Lib "URESL32" (id As Long, ByVal aa As String, ByVal bb As String) As Long
    这是DLL内:
     Function oss(i As Long, ByVal aa As String, ByVal Didop As String) As Long
    窗口检查,aa,Didop就是乱码!
    在线等待答案!谢谢!!