zoukankan      html  css  js  c++  java
  • 关于 TStringList.Assign 回复 "u9cm" 的问题

    问题来源: http://www.cnblogs.com/del/archive/2008/12/29/1230404.html#1416838

    譬如有两个 TStringList 对象: List1 和 List2;

    List2.Assign(List1) 就是把 List1 的内容复制给 List2;

    List2 := List1 相当于给 List1 再取一个名字.

    举例:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      List1,List2: TStringList;
    begin
      List1 := TStringList.Create;
      List2 := TStringList.Create;
    
      List1.CommaText := 'AAA,BBB,CCC';
    
      List2.Assign(List1); {此时 List1、List2 分别指向了不同的对象}
      ShowMessageFmt('%s, %p', [List1[0], Pointer(List1)]); { AAA, 00ABAA40 }
      ShowMessageFmt('%s, %p', [List2[0], Pointer(List2)]); { AAA, 00ABAA90 }
    
      List1.Free;
      ShowMessage(List2[1]); {List1 释放后, List2 还会存在.}
      List2.Free;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    var
      List1,List2: TStringList;
    begin
      List1 := TStringList.Create;
      List1.CommaText := 'AAA,BBB,CCC';
    
      List2 := List1;          {此时 List1、List2 指向了同一个对象}
      ShowMessageFmt('%s, %p', [List1[0], Pointer(List1)]); { AAA, 00ABAA40 }
      ShowMessageFmt('%s, %p', [List2[0], Pointer(List2)]); { AAA, 00ABAA40 }
    
      List1.Free;              {此时 List1、List2 指向的对象释放了}
      //ShowMessage(List2[1]); {所以这句会出错}
    end;
    
    end.
    
  • 相关阅读:
    PAT 字符串-02 删除字符串中的子串
    带滚动条的文本文件
    PAT IO-04 混合类型数据格式化输入(5)
    PAT IO-03 整数均值
    PAT IO-02 整数四则运算
    linux 之shell
    linux 软件包安装-脚本安装
    Linux 关闭防火墙命令
    linux RPM包管理-yum在线管理
    linux 软件包管理
  • 原文地址:https://www.cnblogs.com/del/p/1364778.html
Copyright © 2011-2022 走看看