BianLx错了, 你的代码如果Object Free了, 会出问题
Object.Free;
if Assigned(Object) then
ShowMessage('Always assigned')
肯定能显示MessageBox,
Object := nil 将对象指针清0, 如果Object是接口的实现对象, 调用_Release(), 一般实现对象在_Release会判断是否RefCount=0,是调用Object.Free,当然也可以不调用,例如Component
Object.Free 调用Object.Destroy方法, 但是之前判断是否为nil.