• String类型转化成PChar类型需要注意


    String类型转化成PChar类型需要注意:

      如果使用了将AnsiString字符串强制转换为PChar类型的函数和过程,在使用结束后,要手工把它的长度恢复为原来以Null结束的长度。STRUTILS单元中的RealizeLenght()函数可以实现这一点:

    procedure REAlizeLength(var S : String);

    begin

      SetLength(S,StrLen(PChar(S)));

    end;

    调用ReallizeLength();

    var

      S: STing;

    begin

      SetLength(S,256);//重要首先给字符串分配空间

      //调用函数,S现在包含目录字符串

      GetWindowDirectory(PChar(s),256);

      RealizeLength(S);//设置S的长度为Null结束的长度;

    end;

    注意:在将字符串转化为PChar类型时要小心,因为字符串在超出其作用范围时有自动回收功能,因此当进行P :=PChar(Str)的赋值时,P的作用域(生存期)应当大于Str的作用域。

  • 相关阅读:
    第一阶段冲刺4
    用户场景分析
    最小不重复数
    BOM
    虚拟机下ubuntu系统设置分辨率
    富文本编辑器KindEditor使用
    页面路径设置
    VMware虚拟机不能上网的问题
    Apache Tomcat/7.0.42配置用户
    JFreeChart 横轴文字竖着显示
  • 原文地址:https://www.cnblogs.com/beeone/p/1797946.html
Copyright © 2020-2023  润新知