Bt_dy.Enabled:=False;//打印按钮屏蔽
// if not Assigned(frm_rpt_yuebb) then
frm_rpt_yuebb:=Tfrm_rpt_yuebb.Create(self);//创建月报打印窗体
frm_rpt_yuebb.rpt_title.Caption:=cx_yhm.Text+inttostr(cx_year.Value)+'年'+trim(cx_month.Text)+'月份报表';//月报名...
frm_rpt_yuebb.QuickRep1.Preview;//预览
frm_rpt_yuebb.Close;//窗体关闭
上面是我程序中月报查询打印模块打印按钮的代码,每一句我都注释了。问题是这样的。开始打印窗体的模式是fsMDIChild,但这样的话他的visible就不能设置为false,所以我把它的模式改为fsNormal,我运行程序,发现如果我多按几次打印按钮的话就在退出程序的时候就会报错,大概是读到哪些地址之类的,感觉就是用到了没有创建窗体上的东西或它本身,看这句 frm_rpt_yuebb:=Tfrm_rpt_yuebb.Create(self);//创建月报打印窗体
如果我创建了它没有把它关闭,只是最小化,如果我在按打印按钮的是又创建了一次。原因是不是这里呢?后来我加上了if not Assigned(frm_rpt_yuebb) then这句,单步调试的时候到frm_rpt_yuebb.QuickRep1.Preview;//预览
这里出毛病,给我感觉是frm_rpt_yuebb没有创建。大家给我分析一下原因呢。如果把frm_rpt_yuebb的模式改为fsMDIChild,它是属于打印查询月报窗体的自窗体还是应用程序的子窗体呢?谢谢大家分析哈。
// if not Assigned(frm_rpt_yuebb) then
frm_rpt_yuebb:=Tfrm_rpt_yuebb.Create(self);//创建月报打印窗体
frm_rpt_yuebb.rpt_title.Caption:=cx_yhm.Text+inttostr(cx_year.Value)+'年'+trim(cx_month.Text)+'月份报表';//月报名...
frm_rpt_yuebb.QuickRep1.Preview;//预览
frm_rpt_yuebb.Close;//窗体关闭
上面是我程序中月报查询打印模块打印按钮的代码,每一句我都注释了。问题是这样的。开始打印窗体的模式是fsMDIChild,但这样的话他的visible就不能设置为false,所以我把它的模式改为fsNormal,我运行程序,发现如果我多按几次打印按钮的话就在退出程序的时候就会报错,大概是读到哪些地址之类的,感觉就是用到了没有创建窗体上的东西或它本身,看这句 frm_rpt_yuebb:=Tfrm_rpt_yuebb.Create(self);//创建月报打印窗体
如果我创建了它没有把它关闭,只是最小化,如果我在按打印按钮的是又创建了一次。原因是不是这里呢?后来我加上了if not Assigned(frm_rpt_yuebb) then这句,单步调试的时候到frm_rpt_yuebb.QuickRep1.Preview;//预览
这里出毛病,给我感觉是frm_rpt_yuebb没有创建。大家给我分析一下原因呢。如果把frm_rpt_yuebb的模式改为fsMDIChild,它是属于打印查询月报窗体的自窗体还是应用程序的子窗体呢?谢谢大家分析哈。
解决方案 »
- Unclosed quotation mark before the character string ') IS NULL) 错误!
- 为何客户端必需得在服务端之后启动
- 关于 Application.MessageBox('您确定退出吗?','提示',MB_OKCANCEL)
- 很菜的关于delphi数据库开发的一些问题!
- 我记得Form中可以直接装载图片来着,怎么找不到那个属性了呢???
- canvas的问题,高分请教
- 深夜求助一个Image的canvas 绘图问题
- 在DELPHI里用quick report打印表格的时候为什么打印页之间会嵌入空页?
- 简单问题求救,如何把从数据库查询到的内容传递给变量进行计算啊??!!
- 动态创建标签的奇怪现象
- 报表中怎样实现数据过滤功能?
- quickreport或者fastreport如何打印非qreport和非fast页上控件的内容?
OnDestroy事件中frm_rpt_yuebb:=Nil;if False=Assigned(frm_rpt_yuebb) then
frm_rpt_yuebb:=Tfrm_rpt_yuebb.Create(Application);
frm_rpt_yuebb.QuickRep1.Preview
因此 if not Assigned(frm_rpt_yuebb) then 只在第一次起作用。
action := cnfree;