本人调用了一个动态连接库,具体申明如下:
Public Declare Function SendDataChar Lib "GTLEDSendDataN1.dll" (StrMain As Byte, FontName As Byte, ByVal F_Width As Long, ByVal F_Height As Long, ByVal LeftSpa As Long, ByVal TopSpa As Long, ByVal WordSpa As Long, ByVal RowSpa As Long, ByVal EntryMode As Long, ByVal ExitMode As Long, ByVal EntrySpeed As Long, ByVal ExitSpeed As Long, ByVal StopTime As Long) As Longdim varstra,varstrb as string
dim bya() as byte
dim byb() as byte
Private Sub Command1_Click()  
    varsrta=text1.text
    varstrb=text2.text
    bya=strconv(varstra,vbfromunicode)
    byb=strconv(varstrb,vbfromunicode)   
    Call SendDataChar(bya,byb,1,1,1,1,1,1,1,1,1,1,1)
End Sub
在调试运行时提示:byref参数类型不符,请问是不是在类型转化是出错,如果是,应该怎样将字符串转化成BYTE型,谢谢各位!

解决方案 »

  1.   

    StrMain As Byte, FontName As Byte改成ByVal StrMain As String,ByVal FontName As String
    Call SendDataChar(varstra,varstrb,1,1,1,1,1,1,1,1,1,1,1)
      

  2.   

    该DLL是C编写的,其中StrMain 和 FontName 在C里定义的是 char*,按照规定在VB中调用时应该写成StrMain as byte,FontName as byte 而不能写成ByVal StrMain As String,ByVal FontName As String我将他改成ByVal StrMain As String,ByVal FontName As String
    后运行了,结果是按F5后,马上退出VB编程环境,而生成EXE后运行函数调用一切正常,是什么原因,给高手指点啊
      

  3.   

    varsrta=text1.text改成
    varstra=te......再试试吧