Mudanças entre as edições de "TPHServerClass"

(Exemplo de chamada pelo cliente)
(Exemplo)
Linha 29: Linha 29:
 
         Cores.CampoDoNome('NOME').AsString := 'Nova Cor';
 
         Cores.CampoDoNome('NOME').AsString := 'Nova Cor';
 
         Cores.Salvar;
 
         Cores.Salvar;
 +
     
 
         { Exemplo de Chamada de Método especifico }
 
         { Exemplo de Chamada de Método especifico }
 
         Cores.GetMetodo('Teste');
 
         Cores.GetMetodo('Teste');

Edição das 10h45min de 13 de abril de 2022

A classe TPHServerClass serve para utilização de qualquer classe de negócio presente no servidor. A partir do cadastro informado na criação do objeto, o sistema instancia a classe de servidor que consta do cadastro. Podemos utilizar as propriedades e métodos abaixo, além da chamada de procedimento de cada classe através do procedimento "GetMetodo(Metodo:String)". A classe TPHServerClass é suportada apenas quando executado no servidor, sendo assim deve-se realizar implementação em um script especifico, e a chamada do script no cliente deverá ocorrer através do classe TPHProcScript.

Propriedades

Nome Tipo Descrição
ID Int64 Corresponde ao ID do registro (Opcional).

Procedimentos

  • NovoRegistro: Iniciar a cadastro de um novo registro. Nesse ponto são consideradas as regras presentes no evento AfterInsert da classe e do script;
  • CampoDoNome(Campo:String): Permite atribuir ou retornar valores para os campos. Exemplo: CampoDoNome('CODIGO').AsInteger := 1;
  • Salvar: Realiza gravação do registro. Nesse ponto são considerados as regras presentes nos eventos BeforePost e AfterPost da classe e do script;

Exemplo

 var
   Cores:TPHServerClass;
 begin
   IniciarTransacao;
   try          
     Cores := NewPHServerClass('CORES');
     try
       Cores.NovoRegistro;
       Cores.CampoDoNome('NOME').AsString := 'Nova Cor';
       Cores.Salvar;
     
       { Exemplo de Chamada de Método especifico }
       Cores.GetMetodo('Teste');
     finally
       Cores.Free;                        
     end;
     
     ConfirmarTransacao;
   except
     CancelarTransacao;
     RaiseException(MensagemErro);
   end;
 end;

Exemplo de chamada pelo cliente

 var 
   ScriptObj:TPHProcScript;
 begin                                                                                  
   ScriptObj := TPHProcScript.Create;
   try
     { Nome do script que será executado }                 
     ScriptObj.ScriptNome   := 'PH_ServerClass';
     
     { Nome do procedimento do script que será executado }        
     ScriptObj.Procedimento := 'Executar';        
     
     { Executar script no servidor }         
     ScriptObj.Executar;
   finally
     ScriptObj.Free;                              
   end;
 end;