我试图创建一个multiforms应用程序,只需要在启动时创建主窗体,并根据需要动态创建每个新的附加窗体,通过创建该窗体对象,将其用作模态,一旦该窗体的目的完成,它关闭后会从内存中释放出来。只有我的主表单是“自动创建”,所有其他表单在项目选项中设置为“可用”。
以下是示例代码。
结果表单被声明为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)上的控件,该表单上没有明确添加的代码启动。