//产品销售计划执行分析
if FormName='Frm_Sal_Qry_SalePlanOfItemAnalyse' then
begin
Frm_Sal_Qry_SalePlanOfItemAnalyse:=TFrm_Sal_Qry_SalePlanOfItemAnalyse.Create(Mainform);
Frm_Sal_Qry_SalePlanOfItemAnalyse.SetSysParam(FLoginId,FModuleCode,FTmpSysMenuid,FLoginDate);
Frm_Sal_Qry_SalePlanOfItemAnalyse.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
Frm_Sal_Qry_SalePlanOfItemAnalyse.InitForm(Connection,True);
Frm_Sal_Qry_SalePlanOfItemAnalyse.Show;
end; //营销业务员销售计划执行分析
if FormName='Frm_Sal_Qry_SalePlanOfSalerAnalyse' then
begin
Frm_Sal_Qry_SalePlanOfSalerAnalyse:=TFrm_Sal_Qry_SalePlanOfSalerAnalyse.Create(Mainform);
Frm_Sal_Qry_SalePlanOfSalerAnalyse.SetSysParam(FLoginId,FModuleCode,FTmpSysMenuid,FLoginDate);
Frm_Sal_Qry_SalePlanOfSalerAnalyse.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
Frm_Sal_Qry_SalePlanOfSalerAnalyse.InitForm(Connection,True);
Frm_Sal_Qry_SalePlanOfSalerAnalyse.Show;
end; //部门销售计划执行分析菜单调用
if FormName='Frm_Sal_Qry_SalePlanOfDeptAnalyse' then
begin
Frm_Sal_Qry_SalePlanOfDeptAnalyse:=TFrm_Sal_Qry_SalePlanOfDeptAnalyse.Create(Mainform);
Frm_Sal_Qry_SalePlanOfDeptAnalyse.SetSysParam(FLoginId,FModuleCode,FTmpSysMenuid,FLoginDate);
Frm_Sal_Qry_SalePlanOfDeptAnalyse.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
Frm_Sal_Qry_SalePlanOfDeptAnalyse.InitForm(Connection,True);
Frm_Sal_Qry_SalePlanOfDeptAnalyse.Show;
end;
if FormName='Frm_Sal_Qry_SalePlanOfItemAnalyse' then
begin
Frm_Sal_Qry_SalePlanOfItemAnalyse:=TFrm_Sal_Qry_SalePlanOfItemAnalyse.Create(Mainform);
Frm_Sal_Qry_SalePlanOfItemAnalyse.SetSysParam(FLoginId,FModuleCode,FTmpSysMenuid,FLoginDate);
Frm_Sal_Qry_SalePlanOfItemAnalyse.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
Frm_Sal_Qry_SalePlanOfItemAnalyse.InitForm(Connection,True);
Frm_Sal_Qry_SalePlanOfItemAnalyse.Show;
end; //营销业务员销售计划执行分析
if FormName='Frm_Sal_Qry_SalePlanOfSalerAnalyse' then
begin
Frm_Sal_Qry_SalePlanOfSalerAnalyse:=TFrm_Sal_Qry_SalePlanOfSalerAnalyse.Create(Mainform);
Frm_Sal_Qry_SalePlanOfSalerAnalyse.SetSysParam(FLoginId,FModuleCode,FTmpSysMenuid,FLoginDate);
Frm_Sal_Qry_SalePlanOfSalerAnalyse.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
Frm_Sal_Qry_SalePlanOfSalerAnalyse.InitForm(Connection,True);
Frm_Sal_Qry_SalePlanOfSalerAnalyse.Show;
end; //部门销售计划执行分析菜单调用
if FormName='Frm_Sal_Qry_SalePlanOfDeptAnalyse' then
begin
Frm_Sal_Qry_SalePlanOfDeptAnalyse:=TFrm_Sal_Qry_SalePlanOfDeptAnalyse.Create(Mainform);
Frm_Sal_Qry_SalePlanOfDeptAnalyse.SetSysParam(FLoginId,FModuleCode,FTmpSysMenuid,FLoginDate);
Frm_Sal_Qry_SalePlanOfDeptAnalyse.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
Frm_Sal_Qry_SalePlanOfDeptAnalyse.InitForm(Connection,True);
Frm_Sal_Qry_SalePlanOfDeptAnalyse.Show;
end;
再写一个简单的判断是哪个窗体的过程,就可以比较简单的
调用了,怎么写我就省了阿
变成类变量的模式处理
Frm_Sal_Qry_SalePlanOfDeptAnalyse:=变量.Create(Mainform)
因为每个菜单对应的form名称及相应的参数我是写在数据库中的,所以我希望能有通用的方法去处理,而我现在用的方法是最老式的处理方法很方便。希望高手能多给些意见!
msn:[email protected]
begin
Frm_Sal_Qry_SalePlanOfDeptAnalyse:=TFrm_Sal_Qry_SalePlanOfDeptAnalyse.Create 你的意思是把 引号里面的东西 对应到相应的Tform上面??好像...
你可以考虑把相应的form单独建立dll或者exe,再调用
均继承于一个TForm_Sal_Query_Base窗体。
TForm_Sal_Query_Base在该窗体中:
SetSysParam,SetUserParam,InitForm 均定义为虚函数。
增加一个函数Deal;
procedure Deal;
begin
SetSysParam(FLoginId,FModuleCode,FTmpSysMenuid,FLoginDate);
SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
InitForm(Connection,True);
Show;
end;
这样,该段代码可以直接写为:
Deal;
原则:动态菜单——单击鼠标时,程序从数据库中取出需要显示的form的名字然后显示这个form.
另外还需要再增加一些参数就更好了。