假设有如下类型
TRec=record
strName:string;
intCnt:integer;
end;var
aRec,bRec:TRec;执行以下操作
bRec:=aRec;之后对bRec的任何改变都会使到aRec有同样的变化, 请教有没办法建立一个aRec的副本,对其进行操作,但又不影响原来的aRec呢?当我想更新aRec的时候再将这个副本赋值回aRec
先谢谢了~~
TRec=record
strName:string;
intCnt:integer;
end;var
aRec,bRec:TRec;执行以下操作
bRec:=aRec;之后对bRec的任何改变都会使到aRec有同样的变化, 请教有没办法建立一个aRec的副本,对其进行操作,但又不影响原来的aRec呢?当我想更新aRec的时候再将这个副本赋值回aRec
先谢谢了~~
解决方案 »
- 用delphi如何启动一个服务?
- 如何获得屏幕上某点的色彩?
- BlockWrite函数的用法(关于I/O Error)
- 散分了,又见sql语句,谢谢
- if问题
- 下午好!为什么mdi子窗体在显示时变形,下面的控件看不见?请问怎样消除这一现象?
- Var SA:string, SA的长度是否有限制?,是否可大于254?
- 数据类型转换,这样报错不知怎样处理?
- 请问如何使当鼠标指在toolbotton上时显示提示???
- 我不想用系统自己带的dbgrids, 我改了她的源码, 重新保存了一个新文件,dbg.pas, 怎样dbg也列到data controls 页面上,又不删掉原来的dbgrids
- 求最小生成树的算法
- 求助一个ComboBox问题!!!急!!~~在线的大哥们都进来看看
不知道你是怎么做的
应该是:
TRec=record
aTest:array of string;
end;var
aRec,bRec:TRec;aRec.aTest[0]:='a';
bRec:=aRec;
bRec.aTest[0]:='b';
此时aRec.aText[0] 也变成了b
bRec:=copy(aRec);
bRec.aTest[0]:='b';
bRec.aTest:=copy(aRec.aTest)
就没问题了,而且修改bRec后,aRec的也没被改变但如果TRec是一个有很多动态数组,那么就是说要一个一个数组对应的copy了咯?