偶尔出现的access violation错误,MDI主窗体有2个菜单按钮打开子窗口时偶尔出现,完全是随机性,
单步调试的时候不会出现错误(我试过几百次,都没错误)
某个错误的按钮代码:
procedure TMainForm.N48Click(Sender: TObject);
begin
if not Assigned(Data_xz_Form) then
Data_xz_Form:=TData_xz_Form.Create(Application);
end;
单步调试的时候不会出现错误(我试过几百次,都没错误)
某个错误的按钮代码:
procedure TMainForm.N48Click(Sender: TObject);
begin
if not Assigned(Data_xz_Form) then
Data_xz_Form:=TData_xz_Form.Create(Application);
end;
Data_xz_Form := nil;
Data_xz_Form不单单只对象本身,而是指指向对象的地址,因此需要最后要把指针释放。
否则,释放了对象,指针还没有为空,再次指向的时候就会报告无效地址错误(AV错误)。