Всем доброго дня
Столкнулась с проблемой при добавлении записей посредством IBTable.
Запускаю проект, и первый раз эти строки выполняются отлично:
Код:
//запись в таблицу ITER
i := 1;
itcount := RandomRange(1, 100);
for i := 1 to itcount-1 do
BEGIN
DM.IBTable3.Append; //БЫЛА ОШИБКА "cannot focus a disabled or invisible window"
DM.IBTable3.FieldByName('IT_ID').AsInteger := 0; //ВОТ ЗДЕСЬ !!!!!!ACCESS VIOLATION и PRIVILEGED INSTRUCTION ... формируется в базе триггером, есть ID итерации
DM.IBTable3.FieldByName('CALCNUM').AsInteger := CALCNUM; //для какого расчета..
DM.IBTable3.FieldByName('ITERNUM').AsInteger := 0; //ФОРМИРУЕТСЯ СЕЙЧАС В БАЗЕ триггером. но возможно придется ставить здесь
DM.IBTable3.FieldByName('X1K').AsFloat := i; //координата X
DM.IBTable3.FieldByName('X2K').AsFloat := RandomRange(1, 50) ; //координата Y
DM.IBTable3.FieldByName('FK').AsFloat := RandomRange(0, 50);
DM.IBTable3.POST;
END;
//DM.IBTable3.Refresh;
НО при повторном срабатывании выдавало ошибку 'Access violation at address XXXXXXX (всегда разный). Read of address YYYYYYYY'
Теперь в этом же месте ошибка 'Privileged instruction' и также при повторной работе кода. Получается, что уже команда Append не проходит..
Интересно заметить, что этот код работал уже много раз и вполне успешно, но после изменений не знаю каких таких, все стало вот так.