zoukankan      html  css  js  c++  java
  • 代码审核学到的两个delphi内存泄漏问题

    今天在同事的打击之下才真正明白了StrToPchar的用法:看StrToPchar的源代码才知道此函数内是有分配内存的,所以该函数只用在一种情况就是类似下面情况

    Procedure fun

    Var

    fileName:pChar;

    begin

    fileName=strToPchar(AStrName);

    ……

    fileName.free//用过该函数时必须要手动释放掉内存;

    end;

    绝对不能将其用在调用一个需要传递Pchar类型的函数中,此时如果需要将str转为pcahr,必须强制进行转换,如果此str用到+连接,则必须先定义一个str变量类型后再用Pchar自动转换。否则会造成StrToPchar中的申请的内存泄漏掉。

    控件的释放问题,只要知道新生成的控件的父控件指针,就可以通过循环其父控件依次释放掉所有的子控件变量。

    今天遇到两个关于数据库的问题:1.执行收缩数据库日志的批处理脚本错误的一个解决方法,先停止或分离掉该数据库,然后删除日志文件,再重新附加该数据库文件即可。2.连接sqlserver2005数据库时用TCP动态端口速度较慢,改为TCP端口连接程序运行连接数据库速度快些。

  • 相关阅读:
    Redis
    Log4Net
    EF脚手架生成数据库上下文(scaffold-dbcontext)
    quartz.net
    基于LNMP的小米电子商务网站平台
    LVS的DR模式负载均衡
    华为交换机SSH配置
    VMware ESXi 6.5安装
    VLAN划分
    华为路由设备SSH配置
  • 原文地址:https://www.cnblogs.com/doit8791/p/2684059.html
Copyright © 2011-2022 走看看