delphi 环境 delphi XE7
今天在完善一个程序的时候,发现一个问题,有个功能重复打开就会触发内存释放错误。导致程序挂掉。以前是正常的,就是加了一个TObjectList变量。
我的功能是这样的点击一个菜单就弹出一个界面,如果反复的点击该菜单就会造成上面所述的错误。
以下是出错时的代码:
Tposrecord=class
private
v_id:string;
v_name:string;
public
constructor Create(id:string;name:string);
destructor Destroy; override;
end;
var
NodesModify: TNodesModify;
v_objlist:TObjectList;
implementation
{$R *.dfm}
constructor Tposrecord.Create(id: string; name: string);
begin
Self.v_id:=id;
Self.v_name:=name;
end;
destructor Tposrecord.Destroy;
begin
inherited Destroy;
end;
class function TNodesModify.MNodeInfo(v_info :PTNodeInfo): Boolean;
var
v_nodemodify:TNodesModify;
v_i:Integer;
begin
v_nodemodify:= TNodesModify.Create(nil);
try
try
Result := (v_nodemodify.ShowModal = mrOK);
except
on e:Exception do
ShowMessage(e.Mess