TPHServerClass
Revisão de 15h01min de 19 de abril de 2023 por Willian.avilla (discussão | contribs) (→Criação do Objeto)
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.
Índice
Propriedades
| Nome | Tipo | Descrição |
|---|---|---|
| ID | Int64 | Corresponde ao ID do registro (Opcional). |
Criação do Objeto
- NewPHServerClass: Cria o objeto, espera como parâmetro o nome do cadastro.
- NewPHServerClassName: Cria o objeto, espera como parâmetro o nome da classe.
Procedimentos
- NovoRegistro: Inicia o 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 NewPHServerClass
var
Cores:TPHServerClass;
begin
IniciarTransacao;
try
Cores := NewPHServerClass('CORES'); { Nome do cadastro de 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 NewPHServerClassName
var
NotObj:TPHServerClass;
begin
try
NotObj := NewPHServerClassName('TPHSNotificacoes'); { Nome da classe do servidor }
try
NotObj.GetMetodo('Enviar');
finally
NotObj.Free;
end;
except
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;