Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.057 c
1-1083573849
Amid
2004-05-03 12:44
2004.05.16
Создать Функцию каторая ждала сообщение от Сервера


3-1082227236
XAdmin
2004-04-17 22:40
2004.05.16
Сохранение изображения в БД с помощью SQL запроса


1-1083334497
Smirnoff
2004-04-30 18:14
2004.05.16
как в конце строки удалить символ перевода стоки?


1-1083305697
Expre$$
2004-04-30 10:14
2004.05.16
работа с компонентом Image


1-1083572538
magician
2004-05-03 12:22
2004.05.16
Как просмотреть содержимое DLL.