zoukankan      html  css  js  c++  java
  • 关于TListView中的Data属性

    赋值
    type
        PAllHidenDate = ^AllHidenDate;
        AllHidenDate = record
            PriceID: Integer;
            OrderNumber: string;
            State: Integer;
            PriceData: WideString;
        end;

    var
        HidenData: PAllHidenDate;

    begin
        with lvDataViewAll.Items.Add do
        begin

            HidenData := New(PAllHidenDate);
            HidenData.PriceID := StrToIntDef(Node.Attributes['PriceID'], 0);
            HidenData.State := StrToIntDef(Node.Attributes['State'], 1);
            HidenData.OrderNumber := Node.Attributes['PriceNumber'];
            HidenData.PriceData := Node.XML;
            Data := HidenData;
        end;
    end;

    释放Data:
    procedure TOrderQuotation.lvDataViewAllDeletion(Sender: TObject; Item:
        TListItem);
    var
        HidenData : PAllHidenDate;
    begin
        if Item.Data = nil then Exit;
        HidenData := Item.Data ;
        Dispose(HidenData);
    end;


    释放内存时需要和赋值时的指针类型相同,不然会出错内存泄漏。

        最近发现,WIN2003的内存管理比XP的内存管理要好很多(应该是容错能力比较强)。发现这个问题也因为上面的代码,在WIN2003中运行不会提示内存汇漏,而在XP中却会。

  • 相关阅读:
    python基础之for循环
    python基础之数据类型转换
    python基础之集合set
    python基础之元祖tuple
    python基础之字典dict
    python基础之列表list
    Java基础之数据类型、运算符、标识符
    Java 基础之面向对象
    Java基础之Javadoc的使用
    MYSQL基础之安装、启动、停止、添加、移除、初始化服务
  • 原文地址:https://www.cnblogs.com/sonicit/p/869650.html
Copyright © 2011-2022 走看看