起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 157|回复: 6

在功能如何调用某信息的过程**

[复制链接]
发表于 2008-2-28 10:57:05 | 显示全部楼层 |阅读模式
我在EZXX里编辑了OpenLCGZ的过程,我想在功能窗体里把它调用出来,我调用的代码:
procedure TMainForm.Button1Click(Sender: TObject);
begin
   TEZXX(infobrokerEZXX.info).openLCGZ(DataSetBroker1.DataSet.FieldByName('ID').asstring);
end;
提示错误信息:[错误]Biz:\MASTERMIND\BZGL\EZ\ZZXXGL\ZZXXCX.FUNC.DIR\MainForm.Form.pas(35, 4): Undeclared identifier "TEZXX"
能不能帮我看看?
回复

使用道具 举报

发表于 2008-2-28 11:17:21 | 显示全部楼层
把TEZXX修改为EZXX
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-28 11:45:43 | 显示全部楼层
把TEZXX改为EZXX后的错误信息:
[错误]Biz:\MASTERMIND\BZGL\EZ\ZZXXGL\ZZXXCX.FUNC.DIR\MainForm.Form.pas(35, 30): Undeclared identifier "openLCGZ"
回复 支持 反对

使用道具 举报

发表于 2008-2-28 11:51:16 | 显示全部楼层
EZXX这个单元保存了么?
回复 支持 反对

使用道具 举报

发表于 2008-2-28 11:52:00 | 显示全部楼层
你的 openLCGZ 定义在哪里,把整个EZXX 中的代码帖出来看看,应该定义到public上
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-28 12:28:57 | 显示全部楼层
unit EZXX;

interface

uses
  Business.System, Business.Model, Business.Data;

type
  TEZXX = class(TInfo)
    DataSetAQHD: TSQLDataSet;
    DataSetAQHDFJ: TSQLDataSet;
    DataSetLCGZ: TSQLDataSet;
    DataSetPXJL: TSQLDataSet;
    FIELD_AQHD_ZB: TUserDataField;
    FIELD_PXJL_ZB: TUserDataField;
    DataSetGZJH: TSQLDataSet;
    FIELD_GZJH_ZB: TUserDataField;
    FIELD_GZJH_LB: TUserDataField;
    DataSetZZXX: TSQLDataSet;
    FIELD_ZZXX_ZB: TUserDataField;
    FIELD_ZZXX_LB: TUserDataField;
    procedure savefileAQHDFJ(afilename:string);
    procedure openfileAQHDFJ(afilename:string);

    procedure DataSetAQHDBeforeDelete(DataSet: TDataSet);
    procedure DataSetPXJLBeforeDelete(DataSet: TDataSet);
    procedure DataSetZZXXBeforeDelete(DataSet: TDataSet);
  private
    {private declarations}
  public
    procedure openLCGZ(ID:string);
    {public declarations}
  end;

implementation
procedure TEZXX.savefileAQHDFJ(afilename:string);
var
IOldSQL: String;
begin
         DataSetAQHDFJ.Close;
         IOldSQL:=DataSetAQHDFJ.SQL.Text;
         DataSetAQHDFJ.SQL.Text:='select * from FJ where ID is null';
         DataSetAQHDFJ.Open;
         DataSetAQHDFJ.Edit;
         Tblobfield(DataSetAQHDFJ.FieldByName('FJ')).LoadFromFile(afilename);
         DataSetAQHDFJ.FieldByName('FJM').asstring:=Business.System.SysUtils.ExtractFileName(afilename);
         DataSetAQHDFJ.ApplyUpdates;
         DataSetAQHDFJ.SQL.Text:=IOldSQL;
         DataSetAQHDFJ.refresh;
end;

procedure TEZXX.openfileAQHDFJ(afilename:string);
var
ITempFileName: string;
begin
         ITempFileName := JSSysUtils.GetSystemTempPath + DataSetAQHDFJ.FieldByName('FJM').AsString;
         if SysUtils.FileExists(ITempFileName) then SysUtils.DeleteFile(ITempFileName);
         Tblobfield(DataSetAQHDFJ.FieldByName('FJ')).SaveToFile(ITempFileName);
         Borland.Delphi.ShellAPI.ShellExecute(0, 'open',PChar(ITempFileName), '', '', Borland.Delphi.Windows.SW_SHOW);
end;
procedure TEZXX.openLCGZ(ID:string);
var
   LCGZ: TLCGZ;
begin
         LCGZ := TLCGZ.Create(self.context);;
         DataSetLCGZ.Close;
         DataSetLCGZ.SQLfilter := 'TFLOWID.FID='''+ID+'''';
         DataSetLCGZ.SQLFiltered := True;
         DataSetLCGZ.Open;
         LCGZ.ShowModal;
end;

procedure TEZXX.DataSetAQHDBeforeDelete(DataSet: TDataSet);
var
        queryFLOWID : Tquery;
        begin
        queryFLOWID:= TQuery.Create(self);
        with queryFLOWID do
        queryFLOWID.ConnectionString := 'DATABASEURL=Biz:\SYSTEM\SYSTEM.Database';
        queryFLOWID.CommandText := 'delete from TFLOWID where TFLOWID.FID=:ID';
        queryFLOWID.Params.ParamByName('ID').AsString :=DataSetAQHD.FieldByName('ID').AsString;
        queryFLOWID.Execute;
        end;
procedure TEZXX.DataSetPXJLBeforeDelete(DataSet: TDataSet);
var
        queryFLOWID : Tquery;
        begin
        queryFLOWID:= TQuery.Create(self);
        with queryFLOWID do
        queryFLOWID.ConnectionString := 'DATABASEURL=Biz:\SYSTEM\SYSTEM.Database';
        queryFLOWID.CommandText := 'delete from TFLOWID where TFLOWID.FID=:ID';
        queryFLOWID.Params.ParamByName('ID').AsString :=DataSetPXJL.FieldByName('ID').AsString;
        queryFLOWID.Execute;
        end;

procedure TEZXX.DataSetZZXXBeforeDelete(DataSet: TDataSet);
var
        queryFLOWID : Tquery;
        begin
        queryFLOWID:= TQuery.Create(self);
        with queryFLOWID do
        queryFLOWID.ConnectionString := 'DATABASEURL=Biz:\SYSTEM\SYSTEM.Database';
        queryFLOWID.CommandText := 'delete from TFLOWID where TFLOWID.FID=:ID';
        queryFLOWID.Params.ParamByName('ID').AsString :=DataSetZZXX.FieldByName('ID').AsString;
        queryFLOWID.Execute;
        end;

end.
回复 支持 反对

使用道具 举报

发表于 2008-2-28 13:43:40 | 显示全部楼层
EZXX.TEZXX(infobrokerEZXX.info).openLCGZ....
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 18:17 , Processed in 0.041853 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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