我试图通过仅在启动时创建主表单并通过创建表单对象动态创建每个新的附加表单来创建多表单应用程序,将其用作模式,一旦该表单的目的完成,它就会从关闭后的内存。只有我的主表单是“自动创建的”,所有其他表单在项目选项中都设置为“可用”。
这是示例代码。
结果表单被声明为 TResultForm 的全局变量。
procedure TMainForm.Button1Click(Sender: TObject);
begin
ResultsForm := TResultForm.Create(self);
try
ResultsForm.ShowModal;
finally
ResultsForm.Free;
end;
end;
当我通过单击按钮调用此方法时,结果表单将按原样打开并显示,但我收到访问冲突错误:
'模块'MyApp.exe'中地址005B0291的访问冲突。读取地址 00000000'。
在该表单上,我将数据库链接到该表单并显示。代码有效,没有问题。由于尝试了源自 Embarcadero 帮助工具的新示例代码,因此仅加载了新表单 (ResultForm) 上的控件,没有启动该表单上显式添加的代码。