Re[6]: ВЫделение памяти
От: Dimonka Верблюд  
Дата: 22.11.07 11:57
Оценка: :)
Здравствуйте, wallaby, Вы писали:


W>Не согласен. Иногда динамические массивы очень удобны. К тому исходный пример приводился для поиска ошибки, а не обсуждения архитектуры.

Я не против динамических массивов, я против их такого использования. В каком месте справки написано, что их надо создавать через New?

W>Кстати описанная проблема в равной степени относится к длинным строкам — их тоже надо инициализировать. Если строка — поле записи, и память под эту запись выделять через GetMem — ждите AV при первом обращении к этой строке. В отличие от GetMem процедура New всегда выполняет инициализацию нужных полей (а Dispose — их финализацию, что требуется чтобы не было утечки памяти). И похоже не все это знают.

На практике New совершенно не нужна, каких магических действий бы New не совершала.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.