| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Работа с 3-х мерными массивами! |
| Автор: Grol 5.6.2005, 03:35 |
| Уважаемые мастера!!! Ответьте мне пожалуйста на такой "ламерский" вопрос: как создавать дмнамические 3-х мерные массивы? От сюда же следует, как в них записывать значения и соответствено, как обращаться к определенным элемента такого массива? И хотелось, желательно, чтоб, на примере использовалось Setlength! Спасибо заранее. P.S.: Ламер он и в Африке ламер (это я про себя)! :-))) |
| Автор: Pakshin A. S. 5.6.2005, 09:35 | ||
|
| Автор: badaninslava 10.6.2005, 18:35 |
| Pakshin A. S., а что делает SetLength? Выделяет память? Потом надо её освобождать? Извиняюсь за приметивный вопрос. |
| Автор: Vit 10.6.2005, 21:45 | ||
Да - выделяет память Да - освобождает память Да - выделенную память надо освобождать На последний вопрос ответить не могу |
| Автор: Illusion Dolphin 11.6.2005, 19:52 | ||||
| Vit: Или я что-то не понимаю, или вот мои исправления: 1) а что делает SetLength? Выделяет память? - да, выделяет память 2) Потом надо её освобождать? - не обязательно, всё зависит от случая. Возьмём пример: а) имеем форму, на неё ложим кнопку, при клике на неё:
По нажатию на кнопку размер приложения (в taskManager'e увеличится до 50 мегов и появится сообщение. После закрытия этого сообщения размер опять восстановится до первоначального значения. т.е. произошло автоматическое освобождение памяти. Дело в том, что делфи ведёт счёт ссылок и удаляет массив, когда этот счётчик падает до нуля. Для примера возьмём б)
После выволнения нажатия на кнопку, размер приложения будет 50 метров до закрытия приложения. |
| Автор: badaninslava 12.6.2005, 19:57 |
| А как освободить SetLength(a, 0, 0, 0) или нужна другая процедура? |