我寫了一個簡單的類是這樣的:對象釋放後對象是否安全使用?
TMyClass = class
procedure MyProcedure(Sender : TObject);
end;
我執行「MyProcedure」,在這裏我指的「自我」,對象已經被釋放後:
var
MyObj : TMyClass;
ProcOfObj : TNotifyEvent;
begin
MyObj := TMyClass.Create;
try
ProcOfObj := MyObj.MyProcedure;
finally
MyObj.Free;
end;
ProcOfObj(Self);
end;
它的工作原理,但我想知道如果這是一個安全的做法,或者如果它可能會導致一些問題。
如果該方法從不使用Self或任何字段,那麼它也可以聲明爲一個類方法,然後它是安全的*和*保護,以防止將來的修改,這將使其不安全 – mjn42
@DavidHeffernan我用類替換靜態 – mjn42