gpt4 book ai didi

delphi - 在 Delphi 2007 Pascal 初始化 block 中声明索引变量的语法是什么?

转载 作者:行者123 更新时间:2023-12-03 15:07:26 26 4
gpt4 key购买 nike

我需要在 Delphi 初始化 block 中进行初始化和数组。

看来您不能在初始化 block 中使用 var block ,因为这不会编译:

initialization
var
idx : Integer;
begin
for idx := 0 to length(LastState)-1 do begin
LastState[idx] := $FFFF;
end;
end;

(第一个编译错误提示var):

([DCC Error] ScheAutoInfRb2.pas(6898): E2029 Statement expected but 'VAR' found)

这也无法编译(因为 idx 未声明):

initialization

for idx := 0 to length(Last_Pro2State)-1 do begin
Last_Pro2State[idx] := $FFFF;
end;

[DCC Error] ScheAutoInfRb2.pas(6899): E2003 Undeclared identifier: 'idx'

我知道我可以在主单元声明中声明索引器,但这有几个缺点:

  1. 索引器的声明与其使用是分开的,但是实现部分(可能有数百行),以及

  2. 索引器的范围包括所有函数和过程在实现部分。

最佳答案

你不能。

通常的方法是编写一个过程,然后从初始化部分调用:

procedure InitLastStateArray;
var
idx : Integer;
begin
for idx := 0 to length(LastState)-1 do begin
LastState[idx] := $FFFF;
end;
end;

initialization
IntLastStateArray;

end.

关于delphi - 在 Delphi 2007 Pascal 初始化 block 中声明索引变量的语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35562346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com