Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Erro ao Excluir
#1
Já tive este problema antes, atualizei os fontes e parou de acontecer mas depois da instalação com componente não sei se mudou algo nos fontes mas o erro ao excluir esta ocorrendo novamente.  porém atualize hoje os fontes e o erro persiste (Na Verdade não da erro apenas cai no methodo que esta comentado o código) não consigo ver onde esta o erro e porque ele esta enviando para este método, sendo que estava funcionando corretamente  e em algum momento aprontei algo que mudou isto. tem como me dar um socorro???

como estou usando no client:  TFDMemTable

Variável privada no  (Client) : 
           private
            oDataSnapMaster: IContainerDataSet<TSituacaoCadastral>;
          
no metodo excluir (Client) : .
  oDataSnapMaster.Delete();
  if oDataSnapMaster.DataSet.State in [dsInsert,dsEdit] then
    oDataSnapMaster.DataSet.Post;
  oDataSnapMaster.ApplyUpdates(0);

Método onde o código esta indo na depuração

unit ormbr.session.datasnap;

procedure TSessionDataSnap<M>.Delete(const AObject: M);

var
  LColumn: TColumnMapping;
begin
//  for LColumn in AObject.GetPrimaryKey do
//    Delete(LColumn.PropertyRtti.GetValue(TObject(AObject)).AsInteger);
end;
Responder
#2
(26-05-2019, 12:00 AM)ailtonbrc Escreveu: Já tive este problema antes, atualizei os fontes e parou de acontecer mas depois da instalação com componente não sei se mudou algo nos fontes mas o erro ao excluir esta ocorrendo novamente.  porém atualize hoje os fontes e o erro persiste (Na Verdade não da erro apenas cai no methodo que esta comentado o código) não consigo ver onde esta o erro e porque ele esta enviando para este método, sendo que estava funcionando corretamente  e em algum momento aprontei algo que mudou isto. tem como me dar um socorro???

como estou usando no client:  TFDMemTable

Variável privada no  (Client) : 
           private
            oDataSnapMaster: IContainerDataSet<TSituacaoCadastral>;
          
no metodo excluir (Client) : .
  oDataSnapMaster.Delete();
  if oDataSnapMaster.DataSet.State in [dsInsert,dsEdit] then
    oDataSnapMaster.DataSet.Post;
  oDataSnapMaster.ApplyUpdates(0);

Método onde o código esta indo na depuração

unit ormbr.session.datasnap;

procedure TSessionDataSnap<M>.Delete(const AObject: M);

var
  LColumn: TColumnMapping;
begin
//  for LColumn in AObject.GetPrimaryKey do
//    Delete(LColumn.PropertyRtti.GetValue(TObject(AObject)).AsInteger);
end;
Bom dia, fiz o teste aqui, e aconteceu um AV, não sei se é isso, mas acabei de subir a correção do que testei, então atualize seus fontes e teste novamente.

  Isaque Pinheiro
  Fundador do Projeto ORM Brasil
  ORMBr SAC - Assine e faça parte dessa história ajudando o projeto a crescer.

Responder
#3
(27-05-2019, 10:35 AM)Isaque Pinheiro Escreveu:
(26-05-2019, 12:00 AM)ailtonbrc Escreveu: Já tive este problema antes, atualizei os fontes e parou de acontecer mas depois da instalação com componente não sei se mudou algo nos fontes mas o erro ao excluir esta ocorrendo novamente.  porém atualize hoje os fontes e o erro persiste (Na Verdade não da erro apenas cai no methodo que esta comentado o código) não consigo ver onde esta o erro e porque ele esta enviando para este método, sendo que estava funcionando corretamente  e em algum momento aprontei algo que mudou isto. tem como me dar um socorro???

como estou usando no client:  TFDMemTable

Variável privada no  (Client) : 
           private
            oDataSnapMaster: IContainerDataSet<TSituacaoCadastral>;
          
no metodo excluir (Client) : .
  oDataSnapMaster.Delete();
  if oDataSnapMaster.DataSet.State in [dsInsert,dsEdit] then
    oDataSnapMaster.DataSet.Post;
  oDataSnapMaster.ApplyUpdates(0);

Método onde o código esta indo na depuração

unit ormbr.session.datasnap;

procedure TSessionDataSnap<M>.Delete(const AObject: M);

var
  LColumn: TColumnMapping;
begin
//  for LColumn in AObject.GetPrimaryKey do
//    Delete(LColumn.PropertyRtti.GetValue(TObject(AObject)).AsInteger);
end;
Bom dia, fiz o teste aqui, e aconteceu um AV, não sei se é isso, mas acabei de subir a correção do que testei, então atualize seus fontes e teste novamente.


--->>

 apaguei a pasta baixei a que estava no site https://bitbucket.org/isaquepinheiro/ormbr/downloads/ sReinstalei inclusive desinstalei o componente SetupServerClient_Datasnap deixei a instalação limpa e tentei usar meu sistema, a opção de excluir continua com o mesmo comportamento, mas para tirar a duvida eu criei um exemplo basico limpo para testar para ter certeza que não é no meu sistema o erro. e me deparei coma mesma situação não excluir pois ele tenta passar pelo método 

procedure TSessionDataSnap<M>.Delete(const AObject: M);

var
  LColumn: TColumnMapping;
begin
//  for LColumn in AObject.GetPrimaryKey do
//    Delete(LColumn.PropertyRtti.GetValue(TObject(AObject)).AsInteger);
end;

exemplo do client zipado em anexo  (tentei enviar video mas nao foi aceito aqui no forum)


Arquivo(s) anexado(s)
.zip   Exemplo.zip (Tamanho: 54.93 KB / Downloads: 1)
Responder
#4
(27-05-2019, 06:12 PM)ailtonbrc Escreveu:
(27-05-2019, 10:35 AM)Isaque Pinheiro Escreveu:
(26-05-2019, 12:00 AM)ailtonbrc Escreveu: Já tive este problema antes, atualizei os fontes e parou de acontecer mas depois da instalação com componente não sei se mudou algo nos fontes mas o erro ao excluir esta ocorrendo novamente.  porém atualize hoje os fontes e o erro persiste (Na Verdade não da erro apenas cai no methodo que esta comentado o código) não consigo ver onde esta o erro e porque ele esta enviando para este método, sendo que estava funcionando corretamente  e em algum momento aprontei algo que mudou isto. tem como me dar um socorro???

como estou usando no client:  TFDMemTable

Variável privada no  (Client) : 
           private
            oDataSnapMaster: IContainerDataSet<TSituacaoCadastral>;
          
no metodo excluir (Client) : .
  oDataSnapMaster.Delete();
  if oDataSnapMaster.DataSet.State in [dsInsert,dsEdit] then
    oDataSnapMaster.DataSet.Post;
  oDataSnapMaster.ApplyUpdates(0);

Método onde o código esta indo na depuração

unit ormbr.session.datasnap;

procedure TSessionDataSnap<M>.Delete(const AObject: M);

var
  LColumn: TColumnMapping;
begin
//  for LColumn in AObject.GetPrimaryKey do
//    Delete(LColumn.PropertyRtti.GetValue(TObject(AObject)).AsInteger);
end;
Bom dia, fiz o teste aqui, e aconteceu um AV, não sei se é isso, mas acabei de subir a correção do que testei, então atualize seus fontes e teste novamente.


--->>

 apaguei a pasta baixei a que estava no site https://bitbucket.org/isaquepinheiro/ormbr/downloads/ sReinstalei inclusive desinstalei o componente SetupServerClient_Datasnap deixei a instalação limpa e tentei usar meu sistema, a opção de excluir continua com o mesmo comportamento, mas para tirar a duvida eu criei um exemplo basico limpo para testar para ter certeza que não é no meu sistema o erro. e me deparei coma mesma situação não excluir pois ele tenta passar pelo método 

procedure TSessionDataSnap<M>.Delete(const AObject: M);

var
  LColumn: TColumnMapping;
begin
//  for LColumn in AObject.GetPrimaryKey do
//    Delete(LColumn.PropertyRtti.GetValue(TObject(AObject)).AsInteger);
end;

exemplo do client zipado em anexo  (tentei enviar video mas nao foi aceito aqui no forum)

Segue Unit com correção em anexo.


Arquivo(s) anexado(s)
.pas   ormbr.session.datasnap.pas (Tamanho: 8.28 KB / Downloads: 2)

  Isaque Pinheiro
  Fundador do Projeto ORM Brasil
  ORMBr SAC - Assine e faça parte dessa história ajudando o projeto a crescer.

Responder
#5
Ok, baixei unit e tudo correu dentro do esperado, funcionando

obrigado
Responder


Saltar Fórum:


usuários a ver este tópico: 1 Visitante(s)