Здравствуйте, zag2art, Вы писали:
Z>и они очевидно динамически будет увеличиваться во время работы со строкой. Во время своих экспериментов я обранужил, что строка хранится необыяным образом. Во первых, она всегда с нулевым символом на конце (ну это понятно
Z>для совместимости), а во вторый, перед самой строкой содержаться 2-е четырехбайтные служебные переменные. первая — размер строки, а вот вторая меня и интересует.
Z>Я покапался в служебных библиотечках и узнал, что она проверяется на 1, больше я ничего не узнал...
Z>Подскажите кто знает точно, что там с этой второй переменной....
Насколько я помню, обе эти служебные переменные определяют размер строки. Просто если вторая переменная не равнв нулю, то это признак WideString и используется обе переменные для определения размера.
procedure TfrmMain.Button4Click(Sender: TObject);
var
s : string;
ws : WideString;
begin
s := 'simple string'; // BPX here
ws := 'wide string';
ShowMessage(s);
ShowMessage(ws);
end;
на трассировке по процессору видно что и как, в общем-то.
... <<#4 — 05 Mambana No reason>>