是不是要把WordBool转换成Boolean,怎么转换,(Boolean()强制转换也不行)。

解决方案 »

  1.   

    WordBool和Boolean是兼容的,可以直接使用。
      

  2.   

    vc:
    typedef int                 BOOL;#ifndef FALSE
    #define FALSE               0
    #endif#ifndef TRUE
    #define TRUE                1
    #endifBOOL 只能返回 0/1 在C++ 中 bool行可以跟int型进行隐形转换
    即 int n;
    if (n)  // 只有当 n == 0 时 ,if条件为false 否则都为true
    {}
    在Delphi中就定义为WordBool了,而且返回总是True  你应该定义为BYTE或者integer型即可
    如此比较var
      n: Integer;
    if (n == 0) // 为相当于返回falseelse //  相当于返回true
      

  3.   

    我用属性可以解决了,但是方法还是不行。
    而且即使vc的方法返回long类型,delphi也不能接收到,无论返回值是多少delphi现实的值都是124....,
    vc:
    long CIRObjectCtrl::UpLoad(long port, LPCTSTR outfile) 
    {
    m_InitPort = port;
    m_InitFileName = outfile ; bool m_ret = OnUpload();
    if (m_ret)
    {
    return 0; 
    }
    else
    {
    return -1;
    }
    }dephi:
    ShowMessage(IntToStr(IRObject1.UpLoad(1,'c:\1.txt'));//显示结果都是一个值如果在vc中使用这个控件返回值就是正确的.