📄 boserviceunit.pas
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -