导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
zxdcj (月下舞者)
★☆☆☆☆
-
盒子活跃会员
2003/12/2 21:50:22
标题:
如何用move结合指针快速的将非Variant数组的值赋给一个Variant类型的数组?
浏览:1391
加入我的收藏
楼主:
type Parr=^variant; var arr1:variant; arr2:array[1..10000] of string; p:parr; i:integer; …… arr1:=varArrayCreat([1,10000],varOleStr) for i:=1 to 10000 do arr2[i]:=intToStr(i); …… p:=varArrayLock(arr1); move(arr2,p^,10000) …… 运行后为什么出现数组被锁定无法赋值之类的错误?这个move在这里得怎么用啊?
----------------------------------------------
-
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/12/2 22:21:07
1楼:
Unit System Category miscellaneous routines procedure Move(const Source; var Dest; Count: Integer); Description Move copies Count bytes from Source to Dest. No range checking is performed. Move compensates for overlaps between the source and destination blocks. Whenever possible, use SizeOf to determine the count. 确实很难理解!
----------------------------------------------
作者:
2003/12/2 22:51:56
2楼:
你在这一句“move(arr2,p^,10000)”前加“//”再看看就知道;
----------------------------------------------
-
作者:
zxdcj (月下舞者)
★☆☆☆☆
-
盒子活跃会员
2003/12/3 9:14:10
3楼:
898898兄,我试过了,请恕我眼拙,我没看出来什么 请直言相解,多谢
----------------------------------------------
-