Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Динамическое увеличение массива Variant и инициализация / 5 сообщений из 5, страница 1 из 1
08.02.2021, 15:36
    #40043328
hlopotun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое увеличение массива Variant и инициализация
Всем добрый день,

заполняю вариантный массив для Locate
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
...
var Values:  array of Variant;
      Val: String;
...
SetLength(Values, High(Values)+1);
Values[High(Values)] := Val; // тут вываливает исключение 
...
Q_test.Locate(Fields,VarArrayOf(Values),Options)



надо как то ещё выделять память под значение?

Спасибо
...
Рейтинг: 0 / 0
08.02.2021, 15:46
    #40043330
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое увеличение массива Variant и инициализация
hlopotun
Код: pascal
1.
// тут вываливает исключение 


Какое?
...
Рейтинг: 0 / 0
08.02.2021, 15:50
    #40043332
hlopotun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое увеличение массива Variant и инициализация
wadman,

ошибка доступа $C0000005
...
Рейтинг: 0 / 0
08.02.2021, 15:59
    #40043343
hlopotun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое увеличение массива Variant и инициализация
hlopotun,

сорри, ошибка в логике была, -1 + 1 = 0 и SetLength (Values, 0 ) получался
...
Рейтинг: 0 / 0
08.02.2021, 16:27
    #40043363
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое увеличение массива Variant и инициализация
hlopotun,

потому что тут принято использовать Length вместо High.
hlopotun
Код: pascal
1.
SetLength(Values, High(Values)+1);

...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Динамическое увеличение массива Variant и инициализация / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]