象声明API函数一样声明就可以了,以定单撤消为例:
Public Declare Function CancelOrder Lib "FirmClient.dll" (Byval sCoNo as string,Byval sBillNo as string,Byval sRefNo as string)

解决方案 »

  1.   

    数据转化问题(long to HWND)我用VC做了一个DLL需要在VB下调用(当然VC下也可以调用)
    我在DLL中要操作的对象是控件MSHFlexGrid.ocx
    我是这么想的:
        传递的掺数    HWND hwnd;
    下面是我的测试代码:
    CMSHFlexGrid * m_pMSHFlexGrid;
    extern "C" int WINAPI TestMSHFG(long  lhwnd){
            HWND hwnd =(HWND)lhwnd;
    CWnd * pWnd =CWnd::FromHandlePermanent(hwnd);
    int iNum(0); 
        if(pWnd){
    ::AfxMessageBox( "Success!");
    }
    else
    {
    ::AfxMessageBox("Failure!");
    return -1;
    }
    m_pMSHFlexGrid = (CMSHFlexGrid*) pWnd;
    if(m_pMSHFlexGrid){
    iNum =(int) (m_pMSHFlexGrid->GetFixedCols();      ::AfxMessageBox("Success!"); 
          
    }
    else
    {
    ::AfxMessageBox("Failure!");
    iNum= -1;
    }  
        return iNum;
    }我用VC调用的情况:          CMSHFlexGrid m_MSHFlexGrid;
            ..........对m_MSHFlexGrid进行初始化
    int i(0);
    i=TestMSHFG(m_MSHFlexGrid.m_hWnd);  
            显示正确
    我用VB调用的情况:          
            
    Private Declare Function TestMSHFG Lib "DllTest.Dll" (ByVal hwnd As Long) As Integer Private Sub Form_Load()  Dim ival As Integer
      ival = TestMSHFG(MSHFlexGrid1.hwnd)
      MsgBox ival
      
    End Sub先显示了一个"Failure!"对话框
    返回为-1;
      

  2.   

    帮帮忙看看
    http://www.csdn.net/expert/topic/440/440137.shtm