【发布时间】:2019-03-06 08:26:36
【问题描述】:
这里有个我不明白的问题:
procedure TMain.THREAD_SYNC(
AProgressBar: TProgressBar;
ARemoteData: array of RemoteDATA;
ALocalData : array of LocalDATA;
Number : integer;
AInfo : TEdit);
如果我为它分配这样的“较小的数组”,则以下过程可以完美运行
THREAD_SYNC(Remote,Local,0,Edit1)
当我尝试为它分配一个包含超过 30.000 条记录的更大数组时,我收到了 Stack Overflow 错误,所以我尝试并用 Google 搜索...我发现了一些关于使用 const 的信息,所以我将我的程序更改为:
procedure TMain.THREAD_SYNC(
AProgressBar: TProgressBar;
ARemoteData: array of RemoteDATA;
const ALocalData : array of LocalDATA;
Number : integer;
AInfo : TEdit);
现在它起作用了,我的问题是我不明白为什么?
没有const有什么区别?
【问题讨论】: