a: array [0..50] of AnsiChar;
begin
PWord(a[0])^:=65001; // codepage
PWord(a[2])^:=1; // el.size
PLongInt(a[4])^:=999; // ref.count
PLongInt(a[8])^:=3; // len
a[12]:='H';
a[13]:='i';
a[14]:='!';
Если я эту вручную сформированную строку передам в ф-ию с таким определением:
function X(CONST a: AnsiString): Byte;
Могу ли я быть уверен, что при вызове или внутри ф-ии память занятая под вручную сформированный AnsiString останется неизменной?
(при условии конечно, что внутри ф-ии и дальше вглубь никто это переданное значение не кастует внаглую)
там все кривовато. https://blog.marcocantu.com/blog/2020-december-Delphi-const-string-params.html
мхм, понятно, текст не читал - картинки смотрел там суть в том, что была глобальная переменная и значение её указателя переопределили внутри ф-ии, я так делать не буду. Функция куда передаю - не знает про глобальные переменные Я правильно суть понял, дело там только в глобальной переменной?
Обсуждают сегодня