>> I was kind of surprised to find that >> >> s1 := 'hello'; >> s2 := 'hello'; >> writeln ( pointer(s1) = pointer(s2) ); ...writes FALSE Above returns TRUE when compiled with 1.9.x. Note: It is not garaunteed to work always. Like when s1 is assigned in unit A and s2 is assigned in unit B.