[an error occurred while processing this directive]
|
...
var current_record : PPreviewItem;
begin
if (ARow<0) or (ARow>=files_list.Count) then Exit;
// Проверка индекса на диапазон допустимых значений
current_record := files_list.Items[ARow];
if not Assigned(current_record^) then Exit;
// Проверка на валидность указателя
current_record^.paint_item_data(DrawGrid1.Canvas, Rect);
Такие заглушки имеет смысл ставить во всех потенциально опасных местах.