Azazaz писал(а):Будет ли очищено содержимое указателей PChar внутри массива?
А если посмотреть на это немного по другому:
- Код: Выделить всё
var
P: PChar;
begin
P := 'first constant';
Writeln('memory address: ', PtrUInt(P), ', value: ''', P,'''');
P := 'second constant';
Writeln('memory address: ', PtrUInt(P), ', value: ''', P,'''');
end;
Во первых, содержимое указателей очищенно не будет. Будет освобождена память только для sizeof(TStrs).
Во вторых, если
содержимое указателей PChar указывает на константы, то освобождать память у
них не надо, а если нужно в них содержать динамически выделенную память, то перед Dispose(P), нужно освободить её.