首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

模式窗体 返回值错误

2012-03-21 
模式窗体 返回值异常我有个模式窗体,没有包含报表,只是父窗体有报表,调试的时候,怎么会跳到FrxDBSet去。还

模式窗体 返回值异常
我有个模式窗体,没有包含报表,只是父窗体有报表,调试的时候,怎么会跳到FrxDBSet去。


还有就是,模式窗体:

Delphi(Pascal) code
procedure TFrm_GH.btnQuitClick(Sender: TObject);begin//  inherited;    ModalResult := mrIgnore;    ShowMessage(IntToStr(mrIgnore));    Close;end;procedure TFrm_GH.DBGridSingleDblClick(Sender: TObject);begin     P_GH_Blh := Query_GH.FieldByName('blh').AsString;     P_GH_Hzxm := Query_GH.FieldByName('hzxm').AsString;     P_GH_Ghrq := Query_GH.FieldByName('ghrq').AsString;     ModalResult := mrOk;     Close;end;



主窗体,ShowMessage(IntToStr(Int_Result)+'a');//返回值都是2
Delphi(Pascal) code
procedure TFrm_Appoint.Edit_MNoDblClick(Sender: TObject);var  Int_Result:Integer;begin      Frm_GH := TFrm_GH.Create(Application);      Int_Result := Frm_GH.ShowModal ;      ShowMessage(IntToStr(Int_Result)+'a');//返回值都是2      if Int_Result = mrOk then      begin            Edit_MedicalName.Text := P_GH_Hzxm;            Edit_MedicalNo.Text := P_GH_Blh;      endend;


模式窗体上有表格,相应值会返回到全局变量。

模式窗体是继承过来的,在CLOSE中,没有改变modelResulet这个值啊?









[解决办法]
可能在传递参数有问题吧
[解决办法]
或许是你使用ModalResult 这个属性时,父窗口也有这个属性造成混乱所至,直接用数值变量保存看盾
[解决办法]
1.用了frx报表,调试的时候任何有关报表的代码变化了,是要进入frx源码的了,比如dataset改变了
可以用断点方式调试跳过执行源码
2.mrOk是1,mrIgnore是5,默认的close是2;看看你的代码,模式窗体2个按扭最后都是close
(用了ModalResult就不要再close了,是多余的),所以返回的就是2,所以Int_Result=2但mrOk=1
当然条件永远都不成立了

热点排行