如何将string 转化为widestring ,(100分)

  • 主题发起人 主题发起人 mayuanhuang
  • 开始时间 开始时间
M

mayuanhuang

Unregistered / Unconfirmed
GUEST, unregistred user!
widesring 是 c中的BSTR吗?<br>很多函数的参数是pwidestring,它和widestring如何配合使用那?<br>widestring的内存是怎么分配的啊,要我手动分配吗?<br>我要用它在不同的dll之间传递字符串,有vb的vc的和delphi的dll<br>希望用bstr的格式传递字符串,这样能保证可靠.不知道如何在delphi中使用bstr才有此一问.<br>如你有更好的解决方法,请赐教.
 
S1:String;<br>S2:WideString;<br>begin<br> &nbsp;S1:='abcdefg';<br> &nbsp;S2:=WideString(S1);<br>end;
 
能讲一下关于内存分配的问题吗?
 
function GetString2(val: PWideString): HRESULT;<br>procedure TForm1.GetstringClick(Sender: TObject);<br>var<br> &nbsp; v1: pWideString;<br>begin<br> &nbsp; if Succeeded( GetString2(v1) ) &nbsp;then<br> &nbsp; begin<br> &nbsp; &nbsp; &nbsp;//str.Text := v1;<br> &nbsp; end;<br>end;<br>GetString2(v1)中会对v1赋值,那么GetString2(v1)中应该分配内存吗?分配了以后又该在那里释放呢?<br>这样使用有问题吗?
 
Delphi自动为WideString分配内存,字符是以Unicode存放在每个字符占2字节<br>也可以用SetLength为WideString分配内存,应当分配Length*2的内存<br>WideString当作数组使用时,下标是从1开始的,而不是0
 
照这个意思,与bstr对应的是pwidestring哪?
 
对C没研究
 
后退
顶部