boserviceunit.pas
来自「随便说说最近项目中的三层架构吧。讲点实际的东西。我最讨厌空讲道理。网上讲道理的太」· PAS 代码 · 共 69 行
PAS
69 行
unit BOServiceUnit;
interface
uses
Classes, SysUtils, Variants, DBClient, Contnrs, Dialogs, ServiceObjectUnit,
BOPrototypeManagerUnit, IBaseBOUnit, BaseBOUnit;
type
TBOSrvLocator= class(TServiceObject)
private
end;
TBOService= class(TServiceObject)
private
IBasBO: IBaseBO;
//BOPrototype业务对象持久池:
public
constructor Create;
procedure bo_GetVoList(const sBoSrvObj: WideString; const sBOSrvName: WideString;
out pVOlist: OleVariant); safecall;
end;
implementation
constructor TBOService.Create;
begin
inherited Create;
end;
procedure TBOService.bo_GetVoList(const sBoSrvObj: WideString; const sBOSrvName: WideString;
out pVOlist: OleVariant); safecall;
var
i_i: Integer;
tmpPer: TPersistent;
fClsPer: TPersistentClass;
ItmpBO: IBaseBO;
begin
if BOPrototype.findRegClsName(sBoSrvObj) <> nil then
begin
tmpPer := TPersistent(BOPrototype.findRegObj(sBOSrvObj));
if tmpPer<> nil then
begin
pVOlist := TBaseBO(tmpPer).PDAOObj.PVOList.POLEDataList;
exit;
end
else
begin
tmpPer := TPersistentClass(FindClass(sBOSrvObj)).Create;
BOPrototype.AddItem(1, tmpPer);
Supports(tmpPer, StringToGUID('{3AE5EA91-41EA-41E7-B40C-CF00F8B75F8A}'), IBasBO);
try
IBasBO.InitBusinessObj;
pVOlist := IBasBO.GetDAOValueObject.getDAOValueList;
except
IBasBO := nil;
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?