求救!我用vb做了一个调用动态库的程序。我的源码不好使。用源码生成的exe就好使

解决方案 »

  1.   

    这是我的代码:Public Declare Function bSendMsg Lib "SMSCom.dll" (ByVal hComm As Long, ByVal szMsg As String, ByVal szPhNbr As String, ByVal szSCA As String, ByVal iSMSFormat As Integer, ByVal szNextMsg As String, ByVal szErrInfo As String) As Boolean  '发送信息
    Private Sub cmdopen_Click()
        nationality_cord = 0
        Dim errmsg_send As String
        Dim PhNbr As String
        
        Dim Msg_tmp1 As String
        Dim nMsg_tmp2 As String
        
        errmsg_send = "123"
        Msg_tmp1 = txtNR.Text
        nMsg_tmp2 = "fdfffff"
        PhNbr = txtSJHM.Text
        
     If bSendMsg(ophandle, Msg_tmp1, PhNbr, Trim(com_inf.szSCA), nationality_cord, nMsg_tmp2, errmsg_send) Then
       MsgBox "发送成功"
     Else
       MsgBox "发送失败"
     End IfEnd Sub
      

  2.   

    在ide中运行vb程序,当前目录是vb6的目录,而不是应用程序所在的目录,如果dll放在应用程序所在的目录,则找不到dll。可以复制到vb目录下,或者system32目录中。
      

  3.   

    谢谢各位的帮助。可是的动态库要是声名有问题。哪生成的exe怎么好使呢。我也把这个动态库复制到system32下了。可是还是不可以。不知道怎么办才好。
      

  4.   

    不知道什么原因,我怀疑是不是需要其他的VC库的支持,因为我装了VC
      

  5.   

    我记得我以前碰到这个问题也没有怎么解决。即使把。dll复制过去,也要在命令行也就是在windows注册一下,你再看下行不行,要不然你就换换VB的版本同样的VB版本在Vista和XP中组建也是不相同的