Ну с начала о разоблачении. 
Хоть ты и думаешь, но из-за невнимательности соображаешь плоховато. В следствие чего, не сразу догоняешь что от тебя требуется или что тебе пытаются втолковать. 
 
Теперь о былом. 
О том, что ты мне пытаешься разъяснить, я и так знаю. 
Вот тока я так и не дождался внятного ответа, зачем нужны за комментированные мною строки. 
 
Что же. Дам разъяснение сам. 
 
В операциях присваивания настоящего копирования памяти не происходит, а просто копируется указатель и увеличивается счетчик ссылок на 1. 
А при изменении переменной уже создается новая уникальная запись со своим счетчиком ссылок. 
 
Если при сравнении  у двух переменных, счётчики ссылок и указатели совпадают, то сравнения строк, как таковых, не происходит, а возвращается валидность сравнения. 
Что и сказывается на разнице результатов выполнения функции. 
  
Если необходимо создать именно уникальную строку, а не увеличить счетчик ссылок, то для этого и имеется процедура UniqueString. 
 
Терь представь. Сколько ты зря времени потратил на написание процедур и участие в переписке на форуме. А ведь можно было все так элементарно объяснить. Если конечно же понимание этого было, а не понимание того, что так надо. 
		
	
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
		 
		
	
	
	 |