我对 Delphi 有一个基本的疑问。当我在设计时保留任何组件时,例如 TADOConnectuion 并单击按钮,即使我编写以下代码,我也不会收到任何错误:
begin
ADOConnection.Free; //No error
ADOConnection.Free; //No error
ADOConnection.Free; //No error
end;
但是,如果我在运行时创建与以下相同的对象,则会收到“访问冲突...”错误
begin
ADOConnection := TADOConnection.create(self);
ADOConnection.Free; //No error
ADOConnection.Free; //Getting an "Access Violation..." error
end;
即使我创建如下对象,我也会收到相同的错误:
ADOConnection := TADOConnection.create(nil);
只是想知道这种行为背后的原因,即为什么我在设计时保留组件时没有错误?