使用 TClientDataset 作为参数创建过程

问题描述

我想在 Delphi 2010 中创建一个过程。

此过程将收到一个 TClientDataset 'cdTable1' 参数和一个 X 整数,它必须执行关闭/打开数据集的操作:

if cdTable1.Active then cdTable1.Close; cdTable1.Params.ParamByName('MyParameter').Asstring:=X; cdTable1.Open;

如何定义并运行它?

解决方法

试试这个:

procedure TForm1.MyProcName(cds : TClientDataSet; X : Integer);
begin
    if cds.Active then 
        cds.Close; 
    cds.Params.ParamByName('MyParameter').AsString := X; 
    cds.Open;
end;

procedure TForm1.Button1Click(Sender : TObject);
begin
    MyProcName(cdTabel1,1234);
end;

在定义 TForm1 的接口部分,您必须添加:

public
    procedure MyProcName(cds : TClientDataSet; X : Integer);

如果您使用的是 TDataModule,则过程 MyProcName 可能会在那里找到一个合适的位置,而不是表单。