if assigned(Tb_jh_pss_form(b_jh_pss_form)) then
begin
b_jh_pss_form.edit3.Text:=trim(self.adoquery1.Fieldbyname('name').AsString);
b_jh_pss_form.edit11.Text:=trim(self.adoquery1.Fieldbyname('dep').AsString);
end;
if assigned(Tm_wh_fm(m_wh_fm)) then
begin
m_wh_fm.edit3.Text:=trim(adoquery1.Fieldbyname('name').AsString);
m_wh_fm.edit6.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
end;
.........
当我打开多个子窗体,时就会出现问题?我的意思是当前最上面那个mdichild窗体得到我的传的值
这样有一个致命的问题,如果我打开多个
begin
b_jh_pss_form.edit3.Text:=trim(self.adoquery1.Fieldbyname('name').AsString);
b_jh_pss_form.edit11.Text:=trim(self.adoquery1.Fieldbyname('dep').AsString);
end;
if assigned(Tm_wh_fm(m_wh_fm)) then
begin
m_wh_fm.edit3.Text:=trim(adoquery1.Fieldbyname('name').AsString);
m_wh_fm.edit6.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
end;
.........
当我打开多个子窗体,时就会出现问题?我的意思是当前最上面那个mdichild窗体得到我的传的值
这样有一个致命的问题,如果我打开多个
b_jh_pss_form.edit11.Text:=trim(self.adoquery1.Fieldbyname('dep').AsString);我想楼主主要是上面两句的赋值问题,改为以下即可
for I := 0 to Screen.FormCount - 1 do
if Screen.Forms[I].ClassName = 'Tb_jh_pss_form' then
begin
Tb_jh_pss_form(Screen.Forms[I]).Edit1.Text := ...
Tb_jh_pss_form(Screen.Forms[I]).Edit2.Text := ...
end;
if Screen.Forms[I].ClassName = 'Tb_jh_pss_form' then
begin
Tb_jh_pss_form(Screen.Forms[I]).Edit1.Text := ...
Tb_jh_pss_form(Screen.Forms[I]).Edit2.Text := ...
Break;
end;
begin
if Screen.Forms[I].ClassName = 'Tb_jh_pss_form' then
begin
Tb_jh_pss_form(Screen.Forms[I]).Edit3.Text:=trim(adoquery1.Fieldbyname('name').AsString);
Tb_jh_pss_form(Screen.Forms[I]).Edit11.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
break;
end;
if Screen.Forms[I].ClassName = 'Tjh_pss_form' then
begin
Tjh_pss_form(Screen.Forms[I]).Edit3.Text:=trim(adoquery1.Fieldbyname('name').AsString);
Tjh_pss_form(Screen.Forms[I]).Edit11.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
break;
end;
end;
if assigned(Tn_ygda_fm(n_ygda_fm)) then
begin
n_ygda_fm.edit8.Text:=trim(adoquery1.Fieldbyname('name').AsString);
n_ygda_fm.edit6.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
end;这是我的部分程序,请高手指点!!!!!
begin
if Screen.Forms[I].ClassName = 'Tb_jh_pss_form' then
begin
Tb_jh_pss_form(Screen.Forms[I]).Edit3.Text:=trim(adoquery1.Fieldbyname('name').AsString);
Tb_jh_pss_form(Screen.Forms[I]).Edit11.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
break;
end;
end;
for I := 0 to Screen.FormCount - 1 do
begin
if Screen.Forms[I].ClassName = 'Tjh_pss_form' then
begin
Tjh_pss_form(Screen.Forms[I]).Edit3.Text:=trim(adoquery1.Fieldbyname('name').AsString);
Tjh_pss_form(Screen.Forms[I]).Edit11.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
break;
end;
end;
begin
if Screen.Forms[I].ClassName = 'Tb_jh_pss_form' then
begin
Tb_jh_pss_form(Screen.Forms[I]).Edit3.Text:=trim(adoquery1.Fieldbyname('name').AsString);
Tb_jh_pss_form(Screen.Forms[I]).Edit11.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
break;
end;
end;
for I := 0 to Screen.FormCount - 1 do
begin
if Screen.Forms[I].ClassName = 'Tn_ygda_fm' then
begin
Tn_ygda_fm(Screen.Forms[I]).edit8.Text:=trim(adoquery1.Fieldbyname('name').AsString);
Tn_ygda_fm(Screen.Forms[I]).edit6.Text:=trim(adoquery1.Fieldbyname('dep').AsString);
end;
Break;
end;
看我这次的
for I := 0 to Screen.FormCount - 1 do
begin
if Screen.Forms[I].ClassName = 'Tb_jh_pss_form' then
begin
if not (b_jh_pss_form.ADOQuery1.State in [dsEdit,dsInsert]) then b_jh_pss_form.ADOQuery1.Edit;
Tb_jh_pss_form(Screen.Forms[I]).ADOQuery1.FieldValues['prd_no']:=ADOQuery1.FieldValues['prd_no'];
Tb_jh_pss_form(Screen.Forms[I]).ADOQuery1.FieldValues['prd_name']:=ADOQuery1.FieldValues['name'];
Tb_jh_pss_form(Screen.Forms[I]).ADOQuery1.FieldValues['wh']:=ADOQuery1.FieldValues['wh'];
Tb_jh_pss_form(Screen.Forms[I]).ADOQuery1.FieldValues['wh_name']:=ADOQuery1.FieldValues['wh_name'];
Tb_jh_pss_form(Screen.Forms[I]).ADOQuery1.FieldValues['unit']:=ADOQuery1.FieldValues['m_ut'];
Tb_jh_pss_form(Screen.Forms[I]).ADOQuery1.FieldValues['tax_pto']:=ADOQuery1.FieldValues['spc_tax'];
Tb_jh_pss_form(Screen.Forms[I]).ADOQuery1.FieldValues['up']:=0.0000;
end;
break;
end;
{}
for I := 0 to Screen.FormCount - 1 do
begin
if Screen.Forms[I].ClassName = 'Tjh_pss_form' then
begin
if not (jh_pss_form.ADOQuery1.State in [dsEdit,dsInsert]) then
jh_pss_form.ADOQuery1.Edit;
jh_pss_form.ADOQuery1.FieldValues['prd_no']:=ADOQuery1.FieldValues['prd_no'];
jh_pss_form.ADOQuery1.FieldValues['prd_name']:=ADOQuery1.FieldValues['name'];
jh_pss_form.ADOQuery1.FieldValues['wh']:=ADOQuery1.FieldValues['wh'];
jh_pss_form.ADOQuery1.FieldValues['wh_name']:=ADOQuery1.FieldValues['wh_name'];
jh_pss_form.ADOQuery1.FieldValues['unit']:=ADOQuery1.FieldValues['m_ut'];
jh_pss_form.ADOQuery1.FieldValues['tax_pto']:=ADOQuery1.FieldValues['spc_tax'];
jh_pss_form.ADOQuery1.FieldValues['up']:=0.0000;
end;
break;
end;
for I := 0 to Screen.FormCount - 1 do
begin
//.......
break;
end;