⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uasrvobjwizard.pas

📁 基于Midas 技术的多层应用开发包第二版(带开发文档)
💻 PAS
📖 第 1 页 / 共 2 页
字号:
          else if Module.OwnerModuleCount>0 then
          begin
               NewModule:=Module.OwnerModules[0];
{$else}         // Delphi -5
          else if Module.GetOwnerCount>0 then
          begin
               NewModule:=Module.GetOwner(0);
{$endif}
               if NewModule<>nil then
                  if NewModule.QueryInterface(IOTAProject,Result)<>S_OK then
                     Result := nil;
          end;
     end;

end;

function TUASrvObjModuleCreator.GetShowForm: boolean;
begin
     Result:=false;

end;

function TUASrvObjModuleCreator.GetShowSource: boolean;
begin
     Result:=true;

end;

function TUASrvObjModuleCreator.GetUnnamed: boolean;
begin
     Result:=true;

end;

function TUASrvObjModuleCreator.NewFormFile(const FormIdent,
  AncestorIdent: string): IOTAFile;
begin
     Result:=nil;

end;

function TUASrvObjModuleCreator.NewImplSource(const ModuleIdent, FormIdent,
  AncestorIdent: string): IOTAFile;
var
   s:string;
   UnitRemark:string;
   UsesString:string;
   SrvObjName:string;
   sType:string;
   sProc:string;
   sInit:string;
   sMaxIns:string;
   sTimeOut:string;
   sMgr:string;
   sMgrProc:string;
begin

    // Create public declarations.
   if trim(FForm.edt_SrvObjName.Text)='' then raise Exception.Create('SrvObj Name  must be given.');
   SrvObjName := trim(FForm.edt_SrvObjName.Text);
   sMaxIns := IntToStr(FForm.sedt_MaxIns.Value);
   sTimeOut := IntToStr(FForm.sedt_MaxTime.Value);
//   Showmessage(ModuleIdent +'#'+ FormIdent +'#'+  AncestorIdent);

   UnitRemark:='// ========================================================================='+LF+
               '// UA - An advanced and extendable multi tier application development kit.'+LF+
               '// by vinzon zeng (曾胡龙) (E_mail:vinson_zeng@tom.com)'+LF+
               '// SrvObj generated by UA SrvObj wizard.'+LF+
               '// Power by Borland Midas Tech.'+LF+
               '// Create date time: '+ DateTimeToStr(Now()) + LF+
               '//'+'========================================================================='+LF;


   UsesString:= '   Windows, Messages, SysUtils, Classes,DBClient,StdVcl,'+  LF+
                '   {$ifdef ver140}Variants,{$endif}AdoDb,Contnrs,DB,'+ LF +
                '   uaSrvObj,UAServiceObjectPool,UADataPacket,UAUnits';

   UsesString:=UsesString+';';

   sType := 'type '+ LF+ LF+
            '   TUASrvObj'+SrvObjName+'= class(TuaServerObject)'+LF+
            '   private'+LF+
            '     { Private declarations }'+LF+
            '   protected'+LF+
            '     { Protected declarations }'+LF+
            '     procedure AfterTriggerForDataSet(TableName:string;SrcDS:TDataSet;DestDS:TDataSet;var bHandle:Boolean);override; '+LF+
            '     procedure BeforeTriggerForDataSet(TableName:string;SrcDS:TDataSet;DestDS:TDataSet;var bHandle:Boolean);override; '+LF+

            '     procedure BeforeUpdate(Sender:TObject;var bHandle:Boolean);override; '+LF+
            '     procedure AfterUpdate(Sender:TObject;var bContinue:Boolean);override; '+LF+

            '     procedure BeforeRequest(Sender:TObject;var bHandle:Boolean);override; '+LF+
            '     procedure AfterRequest(Sender:TObject;var bContinue:Boolean);override;'+LF+
            '     procedure BeforeExecute(Sender:TObject;var bHandle:Boolean);override;'+LF+
            '     procedure AfterExecute(Sender:TObject;var bContinue:Boolean);override;'+LF+

            '     function  RequestCustomData(ServiceName:WideString;vcInData:OleVariant;var vcOutData:OleVariant):integer;override;'+LF+
            '     function  UpdateCustomDelta(ServiceName:WideString;vcInData:OleVariant;var vcOutData:OleVariant):integer;override;'+LF+
            '     procedure InitForRequest(var DataIn:OleVariant;var DataOut:OleVariant);override; '+LF+
            '     procedure InitForUpdate (var DataIn:OleVariant;var DataOut:OleVariant);override; '+LF+
            '     procedure InitForExecute(var DataIn:OleVariant;var DataOut:OleVariant);override; '+LF+
            '   public' +LF+
            '     { Public declarations }'+LF+
            '     constructor Create; override; '+LF+
            '     destructor  Destroy; override;'+LF+
            '     procedure Request(ServiceName: WideString; DataIn: OleVariant;var DataOut: OleVariant); override;'+LF+
            '     procedure Update (ServiceName: WideString; DataIn: OleVariant;var DataOut: OleVariant); override;'+LF+
            '     procedure Execute(ServiceName: WideString; DataIn: OleVariant;var DataOut: OleVariant); override;'+LF+
            '   published '+LF+
            '     { Published declarations }'+LF+
            '   end;';

   sProc := '{ TSrvObj'+SrvObjName+' }'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.AfterTriggerForDataSet(TableName:string;SrcDS:TDataSet;DestDS:TDataSet;var bHandle:Boolean);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.BeforeTriggerForDataSet(TableName:string;SrcDS:TDataSet;DestDS:TDataSet;var bHandle:Boolean);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.AfterExecute(Sender: TObject;Var bContinue:Boolean);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.AfterRequest(Sender: TObject;Var bContinue:Boolean);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.AfterUpdate(Sender: TObject;Var bContinue:Boolean);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.BeforeExecute(Sender: TObject;Var bHandle:Boolean);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+


            'procedure TUASrvObj'+SrvObjName+'.BeforeRequest(Sender: TObject;Var bHandle:Boolean);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.BeforeUpdate(Sender: TObject;Var bHandle:Boolean);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'constructor TUASrvObj'+SrvObjName+'.Create;'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'destructor TUASrvObj'+SrvObjName+'.Destroy;'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.Execute(ServiceName: WideString;DataIn: OleVariant;Var DataOut: OleVariant);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.Request(ServiceName: WideString;DataIn: OleVariant;Var DataOut: OleVariant);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.Update(ServiceName: WideString;DataIn: OleVariant;Var DataOut: OleVariant);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+


            'procedure TUASrvObj'+SrvObjName+'.InitForUpdate(var DataIn, DataOut: OleVariant);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.InitForRequest(var DataIn, DataOut: OleVariant);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'procedure TUASrvObj'+SrvObjName+'.InitForExecute(var DataIn, DataOut: OleVariant);'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'function  TUASrvObj'+SrvObjName+'.RequestCustomData(ServiceName:WideString;vcInData:OleVariant;var vcOutData:OleVariant):integer;'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;'+LF+LF+

            'function  TUASrvObj'+SrvObjName+'.UpdateCustomDelta(ServiceName:WideString;vcInData:OleVariant;var vcOutData:OleVariant):integer;'+LF+
            'begin '+LF+
            '  inherited;'+LF+
            '// TODO ......'+LF+
            'end;';

   sMgr  := '//-----------------begin SrvObj PoolManager declare-------------------//'+LF+
            'const'+ LF+
            '  Srv_Obj_Name = ' + #39 + 'srvobj' +LowerCase(SrvObjName)+#39+';'+LF+
            'type'+LF+
            '  TMgrSrvObj'+SrvObjName+' = class(TCustomPoolManager)'+LF+
            '    function  InternalCreateNewInstance: TCustomPoolObject; override;'+LF+
            'end;'+LF+
            'var'+LF+
            '  aMgrSrvObj'+SrvObjName+': TMgrSrvObj'+SrvObjName+';'+LF +
            '//------------------%% end of %% -------------------------------------//';
   sMgrProc :=
            '{ TMgrSrvObj'+SrvObjName+' }'+LF+
            'function TMgrSrvObj'+SrvObjName+'.InternalCreateNewInstance: TCustomPoolObject; '+LF+
            'var '+LF+
            '  aSrvObj'+SrvObjName+':TUASrvObj'+SrvObjName+';'+LF+
            'begin'+LF+
            '  aSrvObj'+SrvObjName+' := TUASrvObj'+SrvObjName+'.Create;'+LF+
            '  Result := TCustomPoolObject(aSrvObj'+SrvObjName+');'+LF+
            'end;';


   sInit := 'initialization' +LF+
            '  aMgrSrvObj'+ SrvObjName +':= TMgrSrvObj'+SrvObjName+'.Create('+sMaxIns +','+sTimeOut+');'+LF+
            '  RegisterPoolManager(Srv_Obj_Name, TCustomPoolManager(aMgrSrvObj'+SrvObjName+'));'+LF +
            'finalization'+LF+
            '  aMgrSrvObj'+SrvObjName+'.Free;';

   s:=
       'unit '+ModuleIdent+';'+LF+LF+
       UnitRemark+LF+LF+
       'interface'+LF+
       'uses'+LF+
       UsesString+LF +
       sType+LF+LF+
       'implementation'+LF+LF+
       sMgr+LF+LF+
       sMgrProc+LF+LF+
       sProc+LF+LF+
       sInit+LF+
       'end.';

   Result := TUASrvObjSourceFile.Create(s);


end;

function TUASrvObjModuleCreator.NewIntfSource(const ModuleIdent, FormIdent,
  AncestorIdent: string): IOTAFile;
begin
     Result:=nil;

end;

{ TUASrvObjSourceFile }

constructor TUASrvObjSourceFile.Create(const Source: string);
begin
     FSource:=Source;

end;

function TUASrvObjSourceFile.GetAge: TDateTime;
begin
     Result:=-1;

end;

function TUASrvObjSourceFile.GetSource: string;
begin
     Result:=FSource;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -