我是这样做的.感觉效率上会低一些?还有什么好的办法?
      for num:=0 to frxReport_syswfx.ComponentCount-1 do
      begin
        if frxReport_syswfx.Components[num].Name='Memo_begindate' then
        TfrxMemoView(frxReport_syswfx.Components[num]).Text := begindate;
        if frxReport_syswfx.Components[num].Name='Memo_enddate' then
        TfrxMemoView(frxReport_syswfx.Components[num]).Text := enddate;
        if frxReport_syswfx.Components[num].Name='Memo_dqmc' then
        TfrxMemoView(frxReport_syswfx.Components[num]).Text := dqmc;
        if frxReport_syswfx.Components[num].Name='Memo_xb' then
        TfrxMemoView(frxReport_syswfx.Components[num]).Text := xb;
      end;

解决方案 »

  1.   

    CurCtrl := frxReport1.FindObject('mUnitBank') as TfrxMemoView;
    if CurCtrl<>nil then
      CurCtrl.Memo.Text := InputForm.redtUnitBank.Text;
      

  2.   

    to sdzeng(大头鸟)
    TfrxMemoView(frxReport_gcb.FindObject('Memo_xb')).memo.text:=xb;
    这样写就可以了,不用判断.若判断我不知道CurCtrl 是什么类型的,呵呵.谢谢你
      

  3.   

    不知道有没有考虑frxReport_gcb.FindObject('Memo_xb'),
    如果'Memo_xb'不存在会怎样?从程序的健壮性上来说,判断一下FindObject('Memo_xb')是有必要的