AN> Я, может и щас глупость скажу, но ИМХО сей ASTRING есть ни что иное, как виндовый атом и такое поведение для него вполне естественно, т.е. при создании строки RTL лезет в таблицу атомов, ежели там такой нет, то добавляет, если есть, то увеличивает счетчик обращений к этой строке и возвращает уже ея. При удалении строка физически удаляется из таблицы только ежели счетчик равен 0. (ну прям как FileManager в ABC с откр/закр фалов :)).
Так, ASTRING именно так и заявлена разработчиками. Как аналог атома. Я с виндовыми атомами не разбирался, но, исходя из твоего описания, могу сказать, что ASTRING несколько отличается от атома:
- у ASTRING нет счетчика
- она физически удаляется ТОЛЬКО при завершении программы.
Кстати, на каждую ASTRING уходит, как минимум, от 14 до 22 байт доп. памяти.