Динамическая память в Free Pascal

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
disputant
незнакомец
Сообщения: 1
Зарегистрирован: 26.01.2013 16:32:56

Динамическая память в Free Pascal

Сообщение disputant »

Добрый день!

Никак не могу сообразить, что не так в Free Pascal (в режиме работы Turbo Pascal) в смысле работы с динамической памятью. Приложенная программа создает двумерный массив как указатель на массив указателей на массивы целых чисел. В Turbo Pascal 6.0 компилируется и работает на ура, а в Free Pascal хоть и компилируется, но вылетает с 201 ошибкой при попытке инициализации элементов первого массива.

Подскажите, в чем я неправ, и как должен выглядеть код, который одинаково компилируем и работоспособен и в Free Pascal, и в Turbo Pascal...

Заранее спасибо!

array.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Запустил в лазарусе.
Ошибок нет.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

disputant
Ваша программа успешно компилируется и работает. Никакой ошибки 201 нет.
Аватара пользователя
Максим
энтузиаст
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Сообщение Максим »

201 - это ошибка проверки границ диапазона. Я не удивляюсь её наличию, учитывая, что в программе объявлены массивы вида

Код: Выделить всё

TTmas  =array[1..1] of integer;
TTmatr =array[1..1] of Tmas;
Ответить