所有程序应该做的一个常见的条件是检查变量是否被分配。
采取以下陈述:
(1)
if Assigned(Ptr) then begin // do something end;
(2)
if Ptr <> nil then begin // do something end;
Assigned(Ptr)和Ptr<>零?
解决方法
它通常是一样的…除了你检查一个功能…
function mfi: TObject; begin Result := nil; end; procedure TForm1.btn1Click(Sender: TObject); type TMyFunction = function: TObject of object; var f: TMyFunction; begin f := mfi; if Assigned(f) then begin ShowMessage('yes'); // TRUE end else begin ShowMessage('no'); end; if f <> nil then begin ShowMessage('yes'); end else begin ShowMessage('no'); // FALSE end; end;