资源集是一种特殊的业务单元,可以将它看成一个DLL文件,当其他的对象使用这个资源集的时候,
就是在调用这个DLL。
资源集包括窗体、图标、位图、页眉页脚四种形式,我们这里主要讲解如何利用资源集创建一个静态
的过程或方法,便于其他的功能或信息调用。
比如我们在资源集里创建一个调用存储过程数据集的过程,这样其他功能就可以直接调用这个过程,
实现一个公共方法的目的。
1、创建一个资源集,在资源集中声明静态过程
static procedure CallStoredProc(Owner: TForm);
方法实现代码:
static procedure TZYJ2.CallStoredProc(Owner: TForm);
var
lDataParam1, lDataParam2: TDataParam;
ResultMessage: string;
DataSetCCGCSJJ2: TStoredProcDataSet;
begin
DataSetCCGCSJJ2 := TStoredProcDataSet.Create(Owner);
try
DataSetCCGCSJJ2.ConnectionString := 'DATABASEURL=Biz:\LSCS\SJK1.Database';
DataSetCCGCSJJ2.StoredProcName := 'dbo.test1';
DataSetCCGCSJJ2.Params.Clear;
lDataParam1 := DataSetCCGCSJJ2.Params.CreateParam(TFieldType.ftInteger, 'Result',
TParamType.ptResult);
lDataParam1 := DataSetCCGCSJJ2.Params.CreateParam(TFieldType.ftString, '@input11',
TParamType.ptInput);
lDataParam1.AsString := 'my name is input1';
lDataParam2 := DataSetCCGCSJJ2.Params.CreateParam(TFieldType.ftString, '@output11',
TParamType.ptOutput);
DataSetCCGCSJJ2.Open;
finally
lDataParam1.Free;
lDataParam2.Free;
DataSetCCGCSJJ2.Free;
end;
end;
这样我们就实现了一个公共的方法调用存储过程。
在其他的功能中引用上面创建的数据集,即可直接调用此方法。
procedure TMainForm.Button2Click(Sender: TObject);
begin
TZYJ2.CallStoredProc(self);
end;
2、如果在功能或者信息成直接调用这个方法是实现不通的,因为上面的方法参数是TForm,所以只能
在窗体中调用。
可以声明方法:
static procedure CallStoredProc(Owner: TBizObject);
代码同上一样。
3、在一个资源集中使用了2个同名的方法,就需要使用overload重载就行声明了。
static procedure CallStoredProc(Owner: TBizObject); overload;
static procedure CallStoredProc(Owner: TForm); overload;
以上过程就利用资源集中的方法实现了静态的公共方法。 |