Just to echo something that was said earlier...
Whenever you use the condition:
If SomePointerReference <> Nil Then
it is much better (more portable, readable, etc) if you use this instead:
If Assigned(SomePointerReference) Then
It is an inline function/macro, so it shouldn't be less efficient.
Bookmarks