Isaias_Souza
-
Total de ítens
3 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Isaias_Souza
-
-
-
Olá comunidade do ACBR, Tudo bem com vocês?
Então vim aqui procurar um socorro porque estou com um problema que vem me tirando o sossego , o problema é bem simples imagino,mas não sei o que posso estar fazendo errado,já que sou iniciante em Delphi.
Descrição do problema :
Precisei usar um ClienteDataSet em meu projeto em determinada tela , e nas condições que os erros se apresentam já descobri que o erro está no CDS, pois em testes que executei aqui quando eu não o crio não ocorre estes erros.
Trechos do código
- Criação:123456procedure
TF_FinContaReceber
.
FormShow(Sender: TObject);
begin
Cds_Lanc
.
CreateDataSet;
Cds_Lanc
.
Open;
{...}
end
;
- Fechando o Form:1234567891011procedure
TF_FinContaReceber
.
FormClose(Sender: TObject;
var
Action: TCloseAction);
begin
Cds_Lanc
.
Close;
{...}
Action := caFree;
end
;
procedure
TF_FinContaReceber
.
FormDestroy(Sender: TObject);
begin
F_FinContaReceber :=
nil
;
end
;
Propriedades do ClientDataSet:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127object
Cds_Lanc: TClientDataSet
Aggregates = <>
AggregatesActive =
True
FieldDefs = <>
IndexDefs = <>
Params = <>
StoreDefs =
True
OnCalcFields = Cds_LancCalcFields
Left =
32
Top =
389
object
Cds_LancSequencialLanc: TIntegerField
FieldName =
'SequencialLanc'
end
object
Cds_Lancflag: TStringField
DisplayLabel =
'X'
FieldName =
'flag'
Size =
1
end
object
Cds_LancVencimento: TDateField
FieldName =
'Vencimento'
end
object
Cds_LancCodEnti: TIntegerField
FieldName =
'CodEnti'
end
object
Cds_LancEntidadeNome: TStringField
FieldName =
'EntidadeNome'
Size =
67
end
object
Cds_LancReferencia: TStringField
FieldName =
'Referencia'
Size =
65
end
object
Cds_LancValor: TFloatField
DefaultExpression =
'0'
FieldName =
'Valor'
DisplayFormat =
'#,###,###,##0.00'
end
object
Cds_LancJuros: TFloatField
DefaultExpression =
'0'
FieldName =
'Juros'
DisplayFormat =
'#,###,###,##0.00'
end
object
Cds_LancDesconto: TFloatField
DefaultExpression =
'0'
FieldName =
'Desconto'
DisplayFormat =
'#,###,###,##0.00'
end
object
Cds_LancValorReceber: TFloatField
DefaultExpression =
'0'
FieldKind = fkInternalCalc
FieldName =
'ValorReceber'
DisplayFormat =
'#,###,###,##0.00'
end
object
Cds_LancSelecTotal: TFloatField
FieldKind = fkInternalCalc
FieldName =
'SelecTotal'
DisplayFormat =
'#,###,###,##0.00'
end
object
Cds_LancSelecJuros: TFloatField
FieldKind = fkInternalCalc
FieldName =
'SelecJuros'
DisplayFormat =
'#,###,###,##0.00'
end
object
Cds_LancSelecDesc: TFloatField
FieldKind = fkInternalCalc
FieldName =
'SelecDesc'
DisplayFormat =
'#,###,###,##0.00'
end
object
Cds_LancSelecValor: TFloatField
FieldKind = fkInternalCalc
FieldName =
'SelecValor'
DisplayFormat =
'#,###,###,##0.00'
end
object
Cds_LancVendaCod: TIntegerField
FieldName =
'VendaCod'
end
object
Cds_LancDataPagto: TDateField
FieldName =
'DataPagto'
end
object
Cds_LancParcela: TStringField
FieldName =
'Parcela'
Size =
6
end
object
Cds_LancDataEmissao: TDateField
FieldName =
'DataEmissao'
end
object
Cds_LancFormaPagto: TStringField
FieldName =
'FormaPagto'
Size =
40
end
object
Cds_LancCPFCNPJ: TStringField
FieldName =
'CPFCNPJ'
Size =
32
end
object
Cds_LancDocumento: TStringField
FieldName =
'Documento'
Size =
15
end
object
Cds_LancTotValor: TAggregateField
FieldName =
'TotValor'
Active =
True
DisplayName =
''
DisplayFormat =
'#,###,###,##0.00'
Expression =
'Sum(SelecValor)'
end
object
Cds_LancTotReceber: TAggregateField
FieldName =
'TotReceber'
Active =
True
DisplayName =
''
DisplayFormat =
'#,###,###,##0.00'
Expression =
'Sum(SelecTotal)'
end
object
Cds_LancTotDesc: TAggregateField
FieldName =
'TotDesc'
Active =
True
DisplayName =
''
DisplayFormat =
'#,###,###,##0.00'
Expression =
'Sum(SelecDesc)'
end
object
Cds_LancTotJuros: TAggregateField
FieldName =
'TotJuros'
Active =
True
DisplayName =
''
DisplayFormat =
'#,###,###,##0.00'
Expression =
'Sum(SelecJuros)'
end
end
Somente postei estes trechos de código porque os erros que serão mostrados já ocorrem quando eu apenas abro e fecho o formulário em questão.
Então é isso ,se alguém me ajudar ficarei muito agradecido,como dito anteriormente,sou iniciante em Delphi e mesmo que possa ser um problema básico ainda não tenho conhecimento necessário para resolvê-lo.
Problema com Cliente Data Set
em Dúvidas não relacionadas ao ACBr
Postado
Como solução não sei ao certo o que foi que resolveu ,mas para deixar registrado teve umas coisas ao resolver este problema que aprendi,como dito anteriormente sou um iniciante em Delphi,talvez o que eu dizer aqui agora não será tão útil a todos.
- Tirei o parâmetro DefaultExpression dos campo internalCalc e deixei o StoreDefs para False , provavelmente foram as alterações que fiz que consertaram todos estes problemas.
- Os campos Aggregate retornam String então isto deve ser tratado para evitar possíveis erros.
- Os campos InternalCalc não funcionam com tipo Extended.
Bom que eu me lembre foram estas coisas que me fizeram arrumar, e talvez uma outra que não consigo identificar por agora já que recriei o ClientDataSet do zero.
Obrigado,Bom dia!