发布软件时因为窗体自动加载次序不对导致报错00000000
问题:发布软件时因为窗体自动加载次序不对导致报错00000000,因为登录界面需要先于主窗体mainform加载,但是这样的话会报错
解决方法:
方法1.通过手动创建窗体的方法 手动释放;
第1步:先uses里引用要加载的窗体单元名,然后在需要添加的事件里添加代码
procedure TForm3.FormShow(Sender: TObject);
begin
//显示登陆窗口
with TFLogin.Create(nil) do
begin
if showmodal <> mrok then
begin
ShowMessage('登陆失败');
end;
end;
// if Self.FLoginInstance.showmodal <> mrok then
// begin
// ShowMessage('登陆失败');
// end;
end;
第2步,注释掉手动已经创建的要引用的但是之前设的自动启动的窗体
方法2.把要预先显示的窗体制作成一个类,加载成主窗体的一部分来显示
第1步:删除或注释掉预先显示的窗体定义的全局变量名
第2步,在主窗口里去掉在implementation 里面的引用,在interface里添加引用
第3步,注释掉自动创建窗体启动的代码: