bool InitPort(CWnd*, int) ;如何在VB中定义.
"bool InitPort(CWnd*, int) ;"是在VC编写的dll中的,现在要用VB程序调用,不知道如何定义,请大家指教

解决方案 »

  1.   


    private delcare lib "xxx.lib" InitPort(byval m-hwnd as long,byval intP as long) as long
    函数执行成功返回FALSE则这个API里面返回0,其他非0
      

  2.   

    delcare InitPort Lib "库名" (byval lngHwnd as long,byval lngPort as long) as long
      

  3.   

    delcare function InitPort Lib "库名" (byval lngHwnd as long,byval lngPort as long) as long
      

  4.   

    声明: Private Declare Function InitPort Lib "Tcommdllmfc.dll" (ByVal hWnd As Long, ByVal a As Long) As Long程序: Private Sub Command1_Click()
    bSerialPortOpened = InitPort(CC141x单条命令.hWnd, 1)
    If bSerialPortOpened = 1 Then
    MsgBox "ok"
    Else: MsgBox "Fail"
    End If
    End Subdll里的定义 bool InitPort(CWnd*, int) ;dll里的函数:bool Request() //pOwner为指向接收信息的窗体的指针
    {
    char string[]="7E01506383";        //得到要发送的数据的指针
    m_SerialPort.WriteToPort((LPCTSTR)string);   //调用CSerialPort类中的WriteToPort函数发送数据
    m_SerialPort.m_nFlag=1; //寻卡标记为1
    if(WaitForSingleObject(m_SerialPort.m_hSyncEvent,500)==WAIT_OBJECT_0)
    {
    ResetEvent(m_SerialPort.m_hSyncEvent);
    if(m_SerialPort.m_nFlag==101)
    {
    TRACE("dll中等到event并寻卡成功!\n");
    m_SerialPort.m_nFlag=0;
    return 0; //寻卡成功
    }
    else
    {
    TRACE("dll中等到event但flag不为1!\n");
    m_SerialPort.m_nFlag=0;
    return 1; //寻卡失败
    }
    }
    else 
    {
    TRACE("dll中未等到event!\n");
    m_SerialPort.m_nFlag=0;
    return 1; //寻卡失败
    }

    }CWnd是个类,CWnd*是个类指针,我该用上面几个大大的定义,现在运行是自动跳出了,不知道问题在哪里.本人新人一个,希望大家多多帮忙 bow
      

  5.   

    你这一句
    bSerialPortOpened = InitPort(CC141x单条命令.hWnd, 1)
    里面,CC141x单条命令.hWnd是指当前窗口的句柄吗?
    你的问题就是 VC写的dll怎么向VB窗口发送消息,我也不太清楚,帮你顶