📄 basebounit.pas
字号:
unit BaseBOUnit;
interface
uses
Windows, Classes, DAOValueObjectUnit, IBaseBOUnit;
type
PBaseBO = ^ TBaseBO;
TBaseBO = class(TPersistent, IBaseBO)
private
fClass: String;
DAOObj: TDAOValueObject;
protected
FRefCount: Integer;
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall; //以上是接口必须实现部分
published
function GetObject: TObject;
procedure SetObject( value: TObject );
function GetDAOValueObject: TDAOValueObject;
procedure SetDAOValueObject(tmpDAOVO: TDAOValueObject);
procedure InitBusinessObj; virtual;
public
property PDAOObj: TDAOValueObject read GetDAOValueObject write SetDAOValueObject;
constructor Create;
destructor Destroy; override;
end;
implementation
constructor TBaseBO.Create;
begin
inherited Create;
end;
function TBaseBO.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
if GetInterface(IID, Obj) then
Result := 0
else
Result := E_NOINTERFACE;
end;
function TBaseBO._AddRef: Integer;
begin
Result := InterlockedIncrement(FRefCount);
end;
function TBaseBO._Release: Integer;
begin
Result := InterlockedDecrement(FRefCount);
if Result = 0 then
Destroy;
end;
function TBaseBO.GetObject: TObject;
begin
Result := TObject(fClass);
end;
procedure TBaseBO.SetObject( value: TObject );
begin
fClass := string(Value);
end;
procedure TBaseBO.SetDAOValueObject(tmpDAOVO :TDAOValueObject);
begin
DAOObj := tmpDAOVO;
end;
function TBaseBO.GetDAOValueObject: TDAOValueObject;
begin
Result := DAOObj;
end;
procedure TBaseBO.InitBusinessObj;
begin
end;
destructor TBaseBO.Destroy;
begin
DAOObj.Free;
inherited Destroy;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -