A especificação TClientDataSet Aggregates não é adicionada automaticamente ao criar um campo Aggregate

StackOverflow https://stackoverflow.com/questions/22212

  •  09-06-2019
  •  | 
  •  

Pergunta

Preciso criar um Campo Agregado em um TClientDataSet, mas como dito na documentação:

Escolha OK.O campo agregado recém -definido é adicionado automaticamente ao conjunto de dados do cliente e sua propriedade agregados é atualizada automaticamente para incluir a especificação agregada apropriada.

Quando adiciono um novo campo agregado, a especificação agregada não é adicionada aos agregados do TClientDataSet, portanto não posso usar seu OnUpdateMethod.

Também tentei manipular o evento OnChange do meu novo Aggregate Field, mas ele não foi acionado.

Estou fazendo algo errado?Eu só quero ter um campo agregado e disparar um evento com tudo o que muda de valor.

Isso está quebrado no Delphi?Porque o que está na documentação não reflete o comportamento real.

editar:@Michal sznajder Estou usando Delphi 2007

Foi útil?

Solução

Acho que você pode estar confuso entre os objetos TAggregate e TAggregateField, e a documentação do Delphi provavelmente não está ajudando.

Os objetos AFAICT e TAggregateField são automaticamente 'recalculados' e podem ser vinculados a controles com reconhecimento de dados como TDBText, mas não possuem nenhum evento OnUpdate.

Os objetos "TAggregate", por outro lado, possuem um evento OnUpdate, mas não podem ser vinculados a controles com reconhecimento de dados.

Isso pode ser esclarecedor: http://dn.codegear.com/article/29272

Outras dicas

Qual versão do Delphi?Acabei de experimentar o aplicativo D7 limpo e o TAggregateField foi adicionado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top