Prezados Marcelo, Leandro e Juliomar,
Muito obrigado pelas dicas.
Helder.
......................................
Leandroaoa,
Funcionou.
......................................
Prezado Marcelo.
Não tinha utilizado as dicas do Leandroaoa [evento OnRecover (AAction := faRetry)] e
[dm.fnn.ResourceOptions.AutoReconnect := true]. Depois delas
Mesmo sem gostar, já tinha feito algumas tentativas que não funcionaram.
Dentro da ApplicationEvents00Exception primeiro tentei um ping. Não funcionou.
Depois estabeleci um timer de 40 segundos. Quando atingia, executei um select simples.
O select funcionava, mas não sensibilizou a conexão de edição.
Para contonar, fiz isso abaixo:
...
var
vPsa :
Record
NR_PSA : Integer;
NM_PSA : String;
TX_TLFNE : String;
{...}
end;
begin
vPsa.NR_PSA := dm.qPSA_edit.FieldByName('NR_PSA').Value;
vPsa.NM_PSA := dm.qPSA_edit.FieldByName('NM_PSA').Value;
vPsa.TX_TLFNE := dm.qPSA_edit.FieldByName('TX_TLFNE').Value;
{...}
dm.fnn.Connected := false;
dm.fnn.Connected := true;
dm.qPSA_edit.Close;
dm.qPSA_edit.ParamByName( 'xNR_PSA' ).value := vPsa.NR_PSA;
dm.qPSA_edit.Active := True;
dm.qPSA_edit.Edit;
dm.qPSA_edit.FieldByName('NR_PSA').Value := vPsa.NR_PSA;
dm.qPSA_edit.FieldByName('NM_PSA').Value := vPsa.NM_PSA;
dm.qPSA_edit.FieldByName('TX_TLFNE').Value := vPsa.TX_TLFNE;
dm.qPSA_edit.Post;
...
Com a diga do Leandroaoa, não preciso usar esse recurso.
......................................
Juliomar,
É a primeira vez que iremos hospedar uma base em um ambiente remoto.
Há muito a aprender.
Helder.