如果将AnstString转换wchar_t *???(100分)

  • 主题发起人 主题发起人 lwx999
  • 开始时间 开始时间
L

lwx999

Unregistered / Unconfirmed
GUEST, unregistred user!
如果将AnstString转换wchar_t *????
在使用BCB中使用导入的Activex控件,字符型转换为wchar_t型,但我试用几种方式,编译可以通过,但运行完后报错,access vilation,,如何??
 
你试试这个函数
StringToWideChar function
 
用WideString构造一个临时变量就行了。WideString的构造函数支持对AnsiString、char *等类型的转换。
假设你要调用一个方法,其定义如下:
HRESULT _stdcall UserLogin([in] BSTR UserID, [in] BSTR UserPswd, [out, retval] BSTR * Result );
调用的时候可以这样用:
WideString wResult;
...
Obj->UserLogin(WideString(UserNameEdit->Text), WideString(PswdEdit->Text), &wResult);
 
你试试把它转成宽字符串!(WideString)(AnsiString i);
 
AnsiString str="abc";
WideString(str).c_bstr() 就是了
 
后退
顶部