версии:

жно ли "стереть" строки в Delphi? Позволь мне объяснить:

Я пишу приложение, которое будет включать DLL для авторизации пользователей. Он будет читать зашифрованный файл в XML DOM, использовать информацию там, а затем освободить DOM.

Очевидно, что незашифрованный XML все еще находится в памяти DLL и поэтому уязвим для проверки. Теперь я не собираюсь зацикливаться на защите этого - пользователь может создать еще одну DLL - но я бы хотел сделать основной шаг, чтобы имена пользователей не оставались в памяти целую вечность. Тем не менее, я не думаю, что смогу легко стереть память из-за ссылок. Если я пройду через мой DOM (который является классом TNativeXML) и найду каждый экземпляр строки, а затем превращу его во что-то вроде «aaaaa», то он фактически не назначит новый указатель строки на ссылку DOM, а затем оставит старую строку сидя там в памяти в ожидании перераспределения? Есть ли способ быть уверенным, что я убиваю единственную и оригинальную копию?

Или есть в D2007 средство, чтобы сказать ему, чтобы стереть всю неиспользуемую память из кучи? Так что я мог бы освободить DOM, а затем сказать, чтобы стереть.

Или я должен просто продолжить свою следующую задачу и забыть об этом, потому что это действительно не стоит беспокоить.

Ответы на вопрос(11)

Ваш ответ на вопрос