Обращаюсь к Вам с проблемой работы в FireMonkey с динамическими массивами.
Ситуация такая, в ходе работы приложения под Android мне необходимо задавать в определенный момент времени размер массива. Функция SetLength почему-то не работает.
Например, если делать так:
procedure TForm1.Button1Click(Sender:TObject);
var
Number123:ArrayOfInteger;
i : integer;
begin
SetLength(Number123,5);for I :=0 to 4do
begin
Number123[i]:= i;
end;
end;
то можно наблюдать следующую ситуацию, что до работы SetLength массив пустой http://joxi.ru/DmBXxLLclDM6AP и это нормально, а после задания длины с массивом происходят странные вещи - вместо ячеек массива какое-то шестнадцатиричное значение http://joxi.ru/823O5xxSYdxl2O, элементы массива по циклу не заполняются.
procedure TForm1.Button1Click(Sender:TObject);
var
Number123:Array[0..4]OfInteger;
i : integer;
begin
for I :=0 to 4do
begin
Number123[i]:= i;
end;
end;
Вопрос
Dmitry Sobko
Добрый день!
Обращаюсь к Вам с проблемой работы в FireMonkey с динамическими массивами.
Ситуация такая, в ходе работы приложения под Android мне необходимо задавать в определенный момент времени размер массива. Функция SetLength почему-то не работает.
Например, если делать так:
то можно наблюдать следующую ситуацию, что до работы SetLength массив пустой http://joxi.ru/DmBXxLLclDM6AP и это нормально, а после задания длины с массивом происходят странные вещи - вместо ячеек массива какое-то шестнадцатиричное значение http://joxi.ru/823O5xxSYdxl2O, элементы массива по циклу не заполняются.
Если то же самое делать под Windows, то все красиво - http://joxi.ru/gmvR7vvHD3lyma и http://joxi.ru/Vm6ydxxhYPLXrZ
Если под Android сделать так:
То все работает как надо: http://joxi.ru/KAgKWooTDB84Al
Помогите пожалуйста разобраться. Гугл не помогает совсем.
Я думаю, что тут должно быть все просто, просто не хватает мне немного знаний и понимания что не так.
Надеюсь на помощь. Спасибо!.
5 ответов на этот вопрос
Рекомендуемые сообщения