zoukankan      html  css  js  c++  java
  • Delphi使用过程中的几个技巧

    一、巧用TAG属性保存对象的指针

        指针的数据类型是整型,一个指针就是一个整型的数值。所以凡整型的变量(这个整型的变量可以是声明在INI文件中,也可以是声明在函数中的)也好,对象的整型的属性也好,都可以用来存储一个指针。但对象往往没有多余的整型属性,而TAG属性就是整型的,正好可以用它来存放指针。

    goods := TGoods.Create(Button1);
    goods.goodsId := goodsId;
    goods.goodsName := goodsName;
    goods.price := price;
    Button1.Tag := THandle(goods);
    
    使用:
    TGoods(TButton(Sender).Tag).buyNum

    不过在需要注意的就是,当我们在释放Button1的时候,一定要记得先释放其Tag中存放的对象资源,以免内存泄漏。如:

    if Assigned(goods) then goods.Free;

    或者:

    if Button1.Tag<>0 then TGoods(Button1.Tag).Free;


    二、全局对象的创建

        全局对象在什么时候创建也是有讲究的,如果在调用之前尚未创建肯定会报错,那么下面通过调用函数间接调用全局对象的方法就不会有任何问题了。

    var
      FUserInfo: TUserInfo = nil;
    
    function UserInfo: TUserInfo;
    begin
      if not Assigned(FUserInfo) then
        FUserInfo := TUserInfo.Create;
      Result := FUserInfo;
    end;


  • 相关阅读:
    HDU 5671 矩阵
    HDU 5670
    UVA 11995 STL 使用
    VK Cup 2016
    字段定义
    apache用户
    apache
    使用第三方登录
    setex()
    如果客户端禁用了cookie,如何实现session
  • 原文地址:https://www.cnblogs.com/xieyunc/p/9126531.html
Copyright © 2011-2022 走看看