vc编写的activex中有一个方法,
BSTR CNetIDCtrl::Active(LPCTSTR strActive) 
{
CString strResult;
         strResult = "12341234";
if (strcmp(strActive, "12345") == 0)
{
strResult = "45678";
bActived = TRUE;
}
else
bActived = FALSE;
return strResult.AllocSysString();
}我在delphi中导入此activex后,该方法自动映射为
WideString Active(str:WideString);
调用该方法时本来应该返回一个字符串,但是在delphi中该activex总是返回空值
procedure TForm1.Button1Click(Sender: TObject);
var
  strTemp: String;
  strRet: String;
begin
   strRet := NetID1.Active(strTemp);
end;

解决方案 »

  1.   

    /****CSDN仅仅只显示了我问题的一部分*****/
    /****下面是全部内容********************/vc编写的activex中有一个方法,
    BSTR CNetIDCtrl::Active(LPCTSTR strActive) 
    {
    CString strResult;
             strResult = "12341234";
    if (strcmp(strActive, "12345") == 0)
    {
    strResult = "45678";
    bActived = TRUE;
    }
    else
    bActived = FALSE;
    return strResult.AllocSysString();
    }我在delphi中导入此activex后,该方法自动映射为
    WideString Active(str:WideString);
    调用该方法时本来应该返回一个字符串,但是在delphi中该activex总是返回空值
    procedure TForm1.Button1Click(Sender: TObject);
    var
      strTemp: String;
      strRet: String;
    begin
       strRet := NetID1.Active(strTemp);
    end;