pchar到底能容纳多少字符?有没有比它更长的变量类型?(10分)

  • 主题发起人 主题发起人 dazzling
  • 开始时间 开始时间
D

dazzling

Unregistered / Unconfirmed
GUEST, unregistred user!
在做DLL时遇到这个问题,由于DLL导出的数据太多,PCHAR会出错,又不能用STRING和TSTRING,怎么办?
 
呵呵,PChar只是一个32位指针,指向的数据可以长达4G
 
具我所知没有!同意楼上的,是个指针!
 
PChar只是一個字串指針,AnsiString可支持4G<br>在做DLL時不要用String要用PChar<br>例如要將字串傳出:<br>function WriteStr(lpStr : PChar; nSize : Integer) : Integer; Stdcall;<br>var<br>&nbsp; S : String;<br>&nbsp; iSize : Integer;<br>begin<br>&nbsp; S := 'Write';<br>&nbsp; iSize := Length(S)<br>&nbsp; if Length(S) &gt; nSize then iSize := nSize;<br>&nbsp; &nbsp; Move(PChar(S)^, lpStr^, iSize);<br>end;
 
怀疑是你导出的数据含 #, &nbsp;所以才会出错,自己处理一下就可以
 
PChar是字符指针。没有长度限制
 
楼上说的是,是你的程序处理有问题。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
628
import
I
I
回复
0
查看
743
import
I
后退
顶部