起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: ccseasy

【结帖】总是提示这个错误**

[复制链接]
 楼主| 发表于 2008-1-25 14:46:17 | 显示全部楼层
unit BGSDJCX_CK;

interface

uses
  Business.System, Business.Model, Business.Forms, Business.Data,Business.System.SysUtils,
  Business.Forms.Dialogs
;

type
  TBGSDJCX_CK = class(TForm)
    FuncBroker: TFuncBroker;
    InfoBrokerFWDJ: TInfoBroker;
    InfoBrokerLWDJ_XX: TInfoBroker;
    ControlBar: TControlBar;
    DataNavigator: TDataNavigator;
    DocViewBar: TDocViewBar;
    PageControl: TPageControl;
    TabSheet: TTabSheet;
    DocViewFWDJ_BGSDJBG: TDocView;
    TabSheet1: TTabSheet;
    DocViewLWDJ_XX_LWDJ_BG: TDocView;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    Imaglist: TImageList;
    DataSetBroker1: TDataSetBroker;
    DataSetBroker2: TDataSetBroker;
    ToolButton2: TToolButton;
    CheckBox1: TCheckBox;
    ComboBox1: TComboBox;
    ToolButton3: TToolButton;
    DocView1: TDocView;
    Splitter1: TSplitter;
    DocView2: TDocView;
    Splitter2: TSplitter;
    SaveDialog: TSaveDialog;
    ImageList: TImageList;
    ToolBar2: TToolBar;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    procedure ToolButton1Click(Sender: TObject);
    procedure BizFormShow(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure TabSheetEnter(Sender: TObject);
    procedure TabSheet1Enter(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure DataNavigatorBeforeAction(Sender: TObject; var Accept: Boolean);
    procedure ComboBox1Change(Sender: TObject);
    procedure PageControlDrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
  private
    procedure getcur_person_infor();
    {private declarations}
  public
    gwlx:string;//当前选择的公文类型:2,发文;1,收文
    personid,DeptID,OrganID,dept_name,Organ_name:string;  //人员id,部门id,单位id,部门名称,单位名称
    {public declarations}
  end;

implementation

procedure tBGSDJCX_CK.getcur_person_infor();
//此方法必须有完整的环境链
var
lContextCurrent: Business.Model.TContextCurrent;
begin
  lContextCurrent := Business.Model.TContextCurrent.Create(Self.Context);
  try
    personid := lContextCurrent.Operator.ID;           //当前操作者ID
    //cGW       := lContextCurrent.PositionMember.ID;  //当前操作者岗位ID
    DeptID   := lContextCurrent.Dept.ID;               //当前操作者部门ID
    Organ_name  := lContextCurrent.Organ.DisplayName;
    dept_name   := lContextCurrent.Dept.DisplayName;
    OrganID :=lContextCurrent.Organ.ID; ///当前操作者机构ID
  finally
    lContextCurrent.Free;
  end;
end;

procedure TBGSDJCX_CK.PageControlDrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
  B:TBitmap;
begin
   B:=TBitmap.Create;
   Control.Canvas.Brush.Color:=$0ffd7c6;
   Control.Canvas.FillRect(Rect);
   Control.Canvas.Font.Color:=$0000000;
   Control.Canvas.Font.Name:='宋体';
   Control.Canvas.TextOut(Rect.Left+integer((Rect.right - Rect.Left - Control.Canvas.TextWidth(TPageControl(Control).Pages[TabIndex].Caption))/2),Rect.Top+4,TPageControl(Control).Pages[TabIndex].Caption);


end;

procedure TBGSDJCX_CK.ToolButton1Click(Sender: TObject);
begin
close;
end;

procedure TBGSDJCX_CK.BizFormShow(Sender: TObject);

begin

    Color:=$0ffd7c6;
    self.Color:=$0ffd7c6;
    ControlBar.Color:=$0ffd7c6;
    //FWDJ.TBGSDJBG(DocViewFWDJ_BGSDJBG.doc).DataGrid.FullExpand;
    //LWDJ_XX.TLWDJ_BG(DocViewLWDJ_XX_LWDJ_BG.doc).DataGrid.FullExpand;
    getcur_person_infor();
    if DeptID<>'BGS' then
       begin
          CheckBox1.Visible:=false;
          DocViewFWDJ_BGSDJBG.DocClassID:='BMDJBG.SHEETDOC';
          DataSetBroker1.dataset.active:=false;
          DataSetBroker1.dataset.Params.ParamByName('djdw').AsString:=OrganID;
          DataSetBroker1.dataset.Params.ParamByName('djbm').AsString:=DeptID;
          DataSetBroker1.dataset.Params.ParamByName('djlb').AsInteger:=1;
          DataSetBroker1.dataset.active:=true;
          DataSetBroker2.dataset.active:=false;
          DataSetBroker2.dataset.Params.ParamByName('djdw').AsString:=OrganID;
          DataSetBroker2.dataset.Params.ParamByName('djbm').AsString:=DeptID;
          DataSetBroker2.dataset.Params.ParamByName('djlb').AsInteger:=1;
          DataSetBroker2.dataset.active:=true;
          {TSQLDataSet(DataSetBroker1.DataSet).SqlFilter:='djdw = '''+organid+''' and djbm='''+deptid +'''';
          TSQLDataSet(DataSetBroker1.DataSet).SqlFiltered:=true;
          TSQLDataSet(DataSetBroker2.DataSet).SqlFilter:='swdw = '''+organid+''' and djbm='''+deptid +'''';
          TSQLDataSet(DataSetBroker2.DataSet).SqlFiltered:=true;}

       end
    else
       begin
          CheckBox1.Visible:=true;
          DocViewFWDJ_BGSDJBG.DocClassID:='BGSDJBG.SHEETDOC';
          DataSetBroker1.dataset.active:=false;
          DataSetBroker1.dataset.Params.ParamByName('djdw').AsString:=OrganID;
          DataSetBroker1.dataset.Params.ParamByName('djbm').AsString:=DeptID;
          DataSetBroker1.dataset.Params.ParamByName('djlb').AsInteger:=2;
          DataSetBroker1.dataset.active:=true;
          DataSetBroker2.dataset.active:=false;
          DataSetBroker2.dataset.Params.ParamByName('djdw').AsString:=OrganID;
          DataSetBroker2.dataset.Params.ParamByName('djbm').AsString:=DeptID;
          DataSetBroker2.dataset.Params.ParamByName('djlb').AsInteger:=2;
          DataSetBroker2.dataset.active:=true;
          {TSQLDataSet(DataSetBroker1.DataSet).SqlFilter:='djlb<>'+'1'+'and djdw = '''+organid+''' and djbm='''+deptid +'''';
          TSQLDataSet(DataSetBroker1.DataSet).SqlFiltered:=true;
          TSQLDataSet(DataSetBroker2.DataSet).SqlFilter:='djlb<>'+'1'+'and swdw = '''+organid+''' and djbm='''+deptid +'''';
          TSQLDataSet(DataSetBroker2.DataSet).SqlFiltered:=true;}

       end;
    gwlx:='1';


end;

procedure TBGSDJCX_CK.ToolButton2Click(Sender: TObject);
var
   GWFJ:TGWFJ;
begin
     GWFJ:=tGWFJ.create(self.context);
     if PageControl.ActivePageIndex = 1 then
       begin
          GWFJ.gwid:=DataSetBroker2.DataSet.fieldbyname('swlsh').AsInteger;
          GWFJ.gwlx:='2';
       end else
       begin
          GWFJ.gwid:=DataSetBroker1.DataSet.fieldbyname('fwlsh').AsInteger;
          GWFJ.gwlx:='3';
       end;
     try
        GWFJ.showmodal;
     finally
        GWFJ.free;
     end;
end;

procedure TBGSDJCX_CK.TabSheetEnter(Sender: TObject);
begin
     gwlx:='1';
end;

procedure TBGSDJCX_CK.TabSheet1Enter(Sender: TObject);
begin
     gwlx:='2';
end;

procedure TBGSDJCX_CK.CheckBox1Click(Sender: TObject);
var
   fwbh_lb:string;
begin
   if CheckBox1.Checked=true then
       begin
          DocViewFWDJ_BGSDJBG.DocClassID:='BMDJBG.SHEETDOC';
          DocView1.DocClassID:='BMFWDJWH.FormDoc';
          DataSetBroker1.dataset.active:=false;
          DataSetBroker1.dataset.Params.ParamByName('djdw').AsString:=OrganID;
          DataSetBroker1.dataset.Params.ParamByName('djbm').AsString:=DeptID;
          DataSetBroker1.dataset.Params.ParamByName('djlb').AsInteger:=1;
          DataSetBroker1.dataset.active:=true;
          DataSetBroker2.dataset.active:=false;
          DataSetBroker2.dataset.Params.ParamByName('djdw').AsString:=OrganID;
          DataSetBroker2.dataset.Params.ParamByName('djbm').AsString:=DeptID;
          DataSetBroker2.dataset.Params.ParamByName('djlb').AsInteger:=1;
          DataSetBroker2.dataset.active:=true;
          {TSQLDataSet(DataSetBroker1.DataSet).SqlFilter:='djlb='+'1'+'and djdw = '''+organid+''' and djbm='''+deptid  +'''';
          TSQLDataSet(DataSetBroker1.DataSet).SqlFiltered:=true;
          TSQLDataSet(DataSetBroker2.DataSet).SqlFilter:='djlb='+'1'+'and swdw = '''+organid+''' and djbm='''+deptid +'''';
          TSQLDataSet(DataSetBroker2.DataSet).SqlFiltered:=true;}
       end
   else
       begin
          DocViewFWDJ_BGSDJBG.DocClassID:='BGSDJBG.SHEETDOC';
          DocView1.DocClassID:='BGSFWDJWH.FormDoc';
          DataSetBroker1.dataset.active:=false;
          DataSetBroker1.dataset.Params.ParamByName('djdw').AsString:=OrganID;
          DataSetBroker1.dataset.Params.ParamByName('djbm').AsString:=DeptID;
          DataSetBroker1.dataset.Params.ParamByName('djlb').AsInteger:=2;
          DataSetBroker1.dataset.active:=true;
          DataSetBroker2.dataset.active:=false;
          DataSetBroker2.dataset.Params.ParamByName('djdw').AsString:=OrganID;
          DataSetBroker2.dataset.Params.ParamByName('djbm').AsString:=DeptID;
          DataSetBroker2.dataset.Params.ParamByName('djlb').AsInteger:=2;
          DataSetBroker2.dataset.active:=true;
          {TSQLDataSet(DataSetBroker1.DataSet).SqlFilter:='djlb<>'+'1'+'and djdw = '''+organid+''' and djbm='''+deptid +'''';
          TSQLDataSet(DataSetBroker1.DataSet).SqlFiltered:=true;
          TSQLDataSet(DataSetBroker2.DataSet).SqlFilter:='djlb<>'+'1'+'and swdw = '''+organid+''' and djbm='''+deptid +'''';
          TSQLDataSet(DataSetBroker2.DataSet).SqlFiltered:=true;}
       end;
       if PageControl.ActivePage = 1 then
          DocViewFWDJ_BGSDJBG.RefreshDoc(true)
       else
          DocViewLWDJ_XX_LWDJ_BG.RefreshDoc(true);

end;

procedure TBGSDJCX_CK.DataNavigatorBeforeAction(Sender: TObject; var Accept: Boolean);
var
    djjb:integer;
begin
     if PageControl.ActivePageIndex = 1 then
              DataSetBroker2.DataSet.Edit
           else
              DataSetBroker1.DataSet.Edit;
    if TBizDataSetAction(Sender).ID=BizActnConsts.ActionDataSetSave then
       begin
           if CheckBox1.checked= true then djjb:=1 else djjb:=2;
           if PageControl.ActivePageIndex = 1 then
              DataSetBroker2.DataSet.fieldbyname('djlb').AsInteger:=djjb
           else
              DataSetBroker1.DataSet.fieldbyname('djlb').AsInteger:=djjb;
       end;

end;

procedure TBGSDJCX_CK.ComboBox1Change(Sender: TObject);
var
    itemindex:integer;
    jnksrq,qnksrq,qbksrq:string;
begin
    jnksrq:=datetostr(business.data.syssrv.sysservice.Time);
    jnksrq:=jnksrq.Substring(0,4)+'-1-1';
    qnksrq:=inttostr(strtoint(jnksrq.Substring(0,4)) - 1) + '-1-1';
    itemindex:=ComboBox1.ItemIndex;
    if itemindex=0 then
        begin
          DataSetBroker1.dataset.Filter:='';
           DataSetBroker1.dataset.filtered:=true;
           DataSetBroker2.dataset.Filter:='';
           DataSetBroker2.dataset.filtered:=true;
        end
    else if itemindex=1 then
        begin
           DataSetBroker1.dataset.Filter:='fwrq>='+jnksrq;
           DataSetBroker1.dataset.filtered:=true;
           DataSetBroker2.dataset.Filter:='swrq>='+jnksrq;
           DataSetBroker2.dataset.filtered:=true;
        end
    else if itemindex=2 then
        begin
           DataSetBroker1.dataset.Filter:='fwrq>='+qnksrq+' and fwrq<'+jnksrq;
           DataSetBroker1.dataset.filtered:=true;
           DataSetBroker2.dataset.Filter:='swrq>='+qnksrq+' and swrq<'+jnksrq;
           DataSetBroker2.dataset.filtered:=true;
        end;

end;

procedure TBGSDJCX_CK.ToolButton3Click(Sender: TObject);
var
  ls_file:string  ;
begin
  if SaveDialog.Execute then
  begin
    ls_file:=SaveDialog.FileName;
  end;
  if PageControl.ActivePageIndex=0 then
  begin
    if CheckBox1.Checked then
    begin
      DocViewFWDJ_BGSDJBG.DocClassID :='BMFWDJYL_EXP';
      SHEETDOCLIB.TSHEETDOCLIB.CopySheetToExcel(DocViewFWDJ_BGSDJBG,ls_file );
      DocViewFWDJ_BGSDJBG.DocClassID :='BMDJBG';
    end
    else
      begin
        DocViewFWDJ_BGSDJBG.DocClassID :='BGSFWDJYL_EXP';
        SHEETDOCLIB.TSHEETDOCLIB.CopySheetToExcel(DocViewFWDJ_BGSDJBG,ls_file );
        DocViewFWDJ_BGSDJBG.DocClassID :='BGSDJBG';
      end;
  end;
  if PageControl.ActivePageIndex=1 then
  begin
     DocViewLWDJ_XX_LWDJ_BG.DocClassID :='LWDJ_EXP';
     SHEETDOCLIB.TSHEETDOCLIB.CopySheetToExcel(DocViewLWDJ_XX_LWDJ_BG,ls_file);
     DocViewLWDJ_XX_LWDJ_BG.DocClassID :='LWDJ_BG';
  end;
  Borland.Delphi.ShellAPI.ShellExecute(0, 'open', ls_file, '', '', Borland.Delphi.Windows.SW_SHOW);
end;


//下一页

procedure TBGSDJCX_CK.ToolButton5Click(Sender: TObject);
begin
   DataSetBroker2.dataset.Params.ParamByName('SRow').AsString:=IntToStr(1);
   DataSetBroker2.dataset.Params.ParamByName('ERow').AsString:=IntToStr(18);
   DataSetBroker2.DataSet.Close;
   DataSetBroker2.DataSet.Open;
end;

end.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-25 14:51:45 | 显示全部楼层

这里报错

procedure TBGSDJCX_CK.ToolButton5Click(Sender: TObject);
begin
   DataSetBroker2.dataset.Params.ParamByName('SRow').AsString:=IntToStr(1);
   DataSetBroker2.dataset.Params.ParamByName('ERow').AsString:=IntToStr(18);
   DataSetBroker2.DataSet.Close;
   DataSetBroker2.DataSet.Open;
end;
回复 支持 反对

使用道具 举报

发表于 2008-1-25 14:54:04 | 显示全部楼层
怎么你代码里没有看到TBGSDJCX_CK.ToolButton4Click啊。

如果你不需要用这个过程,就直接从toolbutton4的事件列表里删除吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-25 14:59:29 | 显示全部楼层
我删了,但是TBGSDJCX_CK.ToolButton5Click又抱同样的错误。
回复 支持 反对

使用道具 举报

发表于 2008-1-25 15:20:16 | 显示全部楼层
按照4的方法处理吧。
回复 支持 反对

使用道具 举报

发表于 2008-2-14 11:40:18 | 显示全部楼层
楼主,还有问题吗?
没有就结帖了。
回复 支持 反对

使用道具 举报

发表于 2008-2-14 11:40:23 | 显示全部楼层
楼主,还有问题吗?
没有就结帖了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 23:00 , Processed in 0.046936 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表