Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Внизstring в структуре и динамический массив таких структур. Найти похожие ветки
← →
kaif © (2004-05-05 04:37) [0]Позволительно ли делать такую вещь?
type
TMyColumnProps = record
width: integer;
band: byte;
size: byte;
FieldName: string;
visible: boolean;
end;
var
AColumnProps: array of TMyColumnProps;
ColumnCount, i: integer;
begin
....
SetLength(AColumnProps, ColumnCount);
for i := 0 to ColumnCount - 1 do
begin
AColumnProps[i].FieldName := ...
...
...
end;
end;
В принципе этот код работает, но я на всякий пожарный сделал иначе... Меня смущает тип string внутри структуры. Освободит ли компилятор память под string после уничтожения динамического массива корректно? Можно ли применять такие вещи? Помнится, что были какие-то проблемы в свое время со string внутри структур...
Версия Delphi6.
← →
Alex Konshin © (2004-05-05 05:56) [1]В данном случае проблем не будет.
Проблемы могут быть, если ты имеешь record со string и память нее для этого выделяешь/отдаешь динамически с помощью GetMem/FreeMem.
← →
Goida © (2004-05-05 09:41) [2]
> kaif
Нужно помнить следующее: тип string - это тип, в основе, которого лежит pchar. Поэтому, если ты работаешь с файлами, тебе нужно использовать либо задание размера string, либо вручную контролировать запись string.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.038 c