PByte转换为String(50分)

  • 主题发起人 主题发起人 blackdove
  • 开始时间 开始时间
B

blackdove

Unregistered / Unconfirmed
GUEST, unregistred user!
&nbsp;我用Delphi做了一个.dll,里面有两个我写的函数,用来操作注册表,我用到了Delphi提供的VCL库,但这个.dll实在太庞大了(不到100行的程序,生成的.dll文件竟有275K),我想这可能是因为包含了VCL库的原因,因此,我想做一个实验:<br>&nbsp; 还是用Delphi做.dll,但不用Delphi与注册表相关的类写函数,全部用API写,看一看做出的.dll到底有多大,但是Delphi与API在数据类型上匹配不如C好。我碰到一个问题,在Delphi中,怎样处理类似PChar,PByte,怎样从PByte得到我想要的string。在Delphi中取地址是用@,但如果知道指针,怎样得到值呢?
 
&nbsp;<br>Pchar to string : StrPas &nbsp; <br>{function StrPas(Str: PChar): string;}<br>&nbsp;<br>string to pchar : StrPCopy &nbsp;或直接pchar(str)进行强制转换。<br>{function StrPCopy(Dest: PChar; const Source: string): PChar;}<br><br><br>
 
呵呵, 大部分调用pchar的api都可以用string代替:-)<br>实在不行就用amo说的函数转换, 很简单.<br>另外, 其实如果dll用vcl也不会太大, 关键看你要的功能得到没有, 凡是没用到的vcl<br>都在use中去掉就小了.<br>
 
没有用到的单元delphi会自己去掉的。
 
时间太久,强制结束。 &nbsp; &nbsp; wjiachun<br>
 
后退
顶部