问题来源: 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;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
varList1,List2: TStringList;
beginList1 := 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);
varList1,List2: TStringList;
beginList1 := 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.

关于 TStringList.Assign - 回复 u9cm 的问题相关推荐

  1. 博客总目录(2007.11.12 - 2010.4.25)

    如果我的学习记录和历程能对你有所帮助, 我非常高兴; 但是 -- "万一" 不是高手.更不是大师, 只是利用工作之余学点东西, 并感觉学得挺吃力. 内容都是写时才会, 难免稚嫩, ...

  2. php tp 模板assign,thinkphp中怎么让assign在另一个模板里使用呢?

    比如现在我有a.html和名字为b的控制器,现在我在b控制器里assing('b',$b),那么请问在a.html中怎么调用b控制器中的assign呢? 回复讨论(解决方案) 代码是这样的 Contr ...

  3. 【IEEE】IEEE审稿意见与回复-写作指南

    IEEE 审稿意见与回复审稿意见-写作指南 0 IEEE 审稿流程与状态解读 1 编辑与审稿人意见 1.0 常用的审稿意见角度 语言方面 内容和篇幅方面 实验方面 结论方面 1.1 Reject(un ...

  4. Object.assign与vue $set

    Object.assign Object.assign可以用于js对象浅复制.语法:Object.assign(target, source1, source2); 第一个参数为目标对象,后面的为要合 ...

  5. 朋友圈评论回复的两种实现方式

    关于微信朋友圈的实现思路有很多种,各有不同.我这里用两种方式实现,这两种方式的demo都可以在我的github下载:https://github.com/zhengwenming/WeChat,目前已 ...

  6. android 让应用悬浮,快速回复+app下载

    快速回复+应用多窗口,在玩游戏或者看视频的时候可以开启悬浮窗口回复消息,不用特意切换后台回复消息非常方便.可以自由调节软件的窗口大小以及位置,无需root就能使用.内存占用小不用担心会对其他应用造型卡 ...

  7. 【一语点醒梦中人】如何优雅地合并两个JSON对象 → Object.assign(a, b)和Object.assign({}, a, b)的区别

    var a = {a: 1}; var b = {b: 2}; var c = Object.assign(a, b);/* a对象也会改变,b不变,返回被被修改对象 */ var d = Objec ...

  8. 微信公众号开发 微信消息回复开发 文本消息 图片消息开发

    开发语言:java 实现功能:发送文字回复文字,发送图片回复图片.token验证.获取access_token等相关功能. 如图: 微信后台接口配置 ,此为测试账号,正式设置也是一样的 项目地址:ht ...

  9. lambda在python中的用法_在python中对lambda使用.assign()方法

    我在Python中运行以下代码:#Declaring these now for later use in the plots TOP_CAP_TITLE = 'Top 10 market capit ...

最新文章

  1. Python在linux服务器上解压,python3传文件到linux服务器然后解压
  2. 2d 背包_和平精英:小黄脸表情头套和背包上架,这个价格真的值得买吗?
  3. 阿里启动NASA计划创造新经济核心科技
  4. 你没有看错,爬网页数据,C# 也可以像 Jquery 那样
  5. [SpringSecurity]web权限方案_自动登陆_原理分析和具体实现
  6. Upload-Labs(17-20)
  7. python写乘法口诀表好记方法_如何用python编写乘法口诀表
  8. Kafka配置6--Windows下设置和增加SASL用户或用户权限
  9. Bpel简介及实例总结
  10. 计算机随机数是如何生成的?(平分取中法、线性同余法)
  11. 使用微PE制作纯净版装机U盘(纯小白教程)
  12. MySQL数据库基本操作-DDL
  13. Java并发练习:无锁编程
  14. 009Java知识点小结--继承和多态
  15. 【TED ON FLEX】支持flashplayer的RIBBIT系统
  16. NXP LPC1768最小系统板硬件介绍
  17. Typora 设置代码块的默认编程语言以及字体颜色设置
  18. 融云 WICC:Unity、Beeto、荔枝、阿里云、StarMaker、LiveMe、积目…花城论剑
  19. 电磁炉的三种工作形式_单管电路_半桥电路和全桥电路
  20. Render函数的用法

热门文章

  1. 智能车竞赛技术报告 | 智能车视觉 - 南京邮电大学 - 栅库砸车跑路队
  2. 2021年春季学期-信号与系统-第九次作业参考答案
  3. 第十五届全国大学生智能车全国总决赛获奖信息-华北赛区
  4. HX711电子秤专用转换芯片读取MCU模块
  5. android与python交互_Android与Python混合编程
  6. android运行exe没有反应,安卓最担心的事情发生了
  7. html5复选框样式,11种炫酷CSS3复选框checkbox样式美化效果
  8. pc端汽车obd软件下载?_常用的ERP软件电脑端下载
  9. cat卡特鞋有实体店吗_保养课堂 | 小小密封件,竟然是CAT油缸和连杆耐用的秘密...
  10. 负载均衡(Load Balancing)学习笔记(二)