Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

ошибка Out Of Range

тут можно задать вопрос по скриптингу
Post Reply
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

ошибка Out Of Range

Post by Stels »

Подскажите, не могу понять в чем причина

Code: Select all

Const
123Type = $2222;
var
i: integer;
123Array: array of Cardinal;
begin
    if FindType(123Type,BackPack) <> 0 then
    begin
        AddToSystemJournal('Всего найдено '+IntToStr(FindCount)+' 123');
        for i:=0 to (FindCount-1) do
            begin
                123Array[i]:=FindType(123Type,BackPack);
                Ignore(FindItem);
            end;
         IgnoreReset;
     end.
Компиляция проходит нормально, но при выполнении строки 123Array:=FindType(123Type,BackPack); выдает ошибку Out of Range, в чем может быть причина? При этом тип массива не важен, кардинал или ворд... ошибка таже
Kobzar
Novice
Novice
Posts: 72
Joined: 28.02.2006 14:49
Contact:

Re: ошибка Out Of Range

Post by Kobzar »

GetFindedList
Кто понял жизнь - тот не спешит ...
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: ошибка Out Of Range

Post by CFA »

Не задан размер массива 123Array

Code: Select all

    if FindType(123Type,BackPack) <> 0 then
    begin
        SetArrayLength(123Array, FindCount); // или SetLength
        for i:=0 to (FindCount-1) do
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: ошибка Out Of Range

Post by Stels »

Kobzar wrote:GetFindedList
Благодарю
Stels
Novice
Novice
Posts: 118
Joined: 15.02.2011 12:15

Re: ошибка Out Of Range

Post by Stels »

CFA wrote:Не задан размер массива 123Array

Code: Select all

    if FindType(123Type,BackPack) <> 0 then
    begin
        SetArrayLength(123Array, FindCount); // или SetLength
        for i:=0 to (FindCount-1) do
насколько я знаю, если не указывать размер у массива, то он принимается за максимально-возможный
Но суть я понял :)
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: ошибка Out Of Range

Post by CFA »

Нет, если ему не указывать размер, это будет динамический массив, с нулевой длиной.
Post Reply