• Главная
  • Исходники Delphi
  • Справочники Delphi
  • Книги Delphi
  • Основы Delphi
  • библиотека Delphi исходников
  • Форум
  • Блоги

Последние записи

  • Прозрачность тайлсета в TPNGImage
  • Как сделать VBA макрос в excel
  • Поиск по столбцу 1-ого не нулевого значения (формулой в Microsoft Office Excel)
  • Простановка единиц в ячейки под объектами (Microsoft Office Excel)
  • Расчет затраченного времени между определенным рабочим временем (формулой в Microsoft Office Excel)
  • Мигающий экран на Assembler
  • VBA-макрос по копированию 10 строчек в выбранном диапазоне в Microsoft Office Excel
  • Копирование только нужного диапазона в Microsoft Office Excel
  • Перенос диапазона стоки в Microsoft Office Excel на другой лист по условию
  • Мелодия в Pascal.ABC.Net с помощью System.Console.Beep — задержка воспроизведения звука

made in programmersforum 8

programmersforum8

  • .NET
  • ASP.NET
  • assembler
  • Basic
  • c/c++
  • CMS
  • Delphi
  • HTML
  • iPhone
  • Java
  • JavaScript
  • Linux
  • Pascal
  • Perl
  • Photoshop
  • php
  • Python
  • Ruby
  • SEO
  • sql
  • VBA
  • Win Api
  • Windows
  • XML и XSLT
  • Администрирование ОС
  • Апгрейды
  • Архив
  • Безопасность
  • Блоги
  • Веб-аналитика
  • Железо
  • Журнал
  • Заметки
  • Имейдж
  • Интервью
  • Исходники
  • Новости
  • Общалка
  • Операционные системы
  • Пост-обзор
  • Профлитература
  • Рассылка
  • Реклама
  • си шарп
  • Советы
  • Софт
  • Статьи
  • Топик-обзор
  • Файлы








3rd
Апр

Выделить память под динамический массив

Posted by Chas under Delphi

Пытаюсь выделить память под массив, но выдает ошибку. Порой на «GetMem», порой на «Foo^[0].Bar1:=1».
Подскажите, может, я не правильно пытаюсь выделить память под массив записей?

Stilet
Хотя это костыльный вариант и он морально устарел. Сейчас модно так:

procedure Something;
type
TBar = record
Bar1: Word; Bar2: Cardinal;
end;

TFoo = array of TBar;

var
Foo: TFoo;
Temp: Byte;
begin
SetLength(Foo, 3);

Foo[0].Bar1:=1;
Foo[1].Bar1:=10;
Foo[2].Bar1:=100;

Temp:=Foo[0].Bar1 + Foo[1].Bar1 + Foo[2].Bar1;
SetLength(Foo,0);
end;

тема на форуме

Похожие статьи

  • Как создать двумерный динамический массив?
  • Выделение памяти
  • Как правильно выделить буфер для приёма строки от WinApi функции
  • Создать динамический массив внутри функции так, чтобы он потом не уничтожился
  • Нужно ли чистить память локальных переменных, используемых в функциях?
  • Как правильно закрыть ClientDataSet?
  • Как передать динамический массив Tbitmap в процедуру
  • Сдвиг элементов динамического массива после удаления элемента
  • Динамические массивы Turbo Pascal
  • Использование нетипизированного указателя для передачи массива
Теги: SetLength | выделение памяти | динамический массив | память








© Copyright "Клуб программистов" – материалы по Delphi и С++. Создание и продвижние сайта - Веб-сателлит.