Mudanças entre as edições de "TPHServerClass"
(→Exemplo) |
(→Exemplo) |
||
Linha 24: | Linha 24: | ||
IniciarTransacao; | IniciarTransacao; | ||
try | try | ||
− | Cores := NewPHServerClass('CORES'); | + | Cores := NewPHServerClass('CORES'); { Nome do cadastro de Cores } |
try | try | ||
Cores.NovoRegistro; | Cores.NovoRegistro; |
Edição das 10h46min 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'); { 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 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;