Numeric out of range
Classe do erro: EADSDatabaseError
Base de Dados - Erro - Código: 5121
TBFATURPEM: Numeric out of range.
Nome do arquivo: Arquivo de Produtos/Serviços dos Pedidos de Vendas
Pessoal,
Alguém conhece alguma propriedade ou alguma forma de identificar qual o campo que esta estourando quando da atualização de um atributo no registro.
Grato,
Base de Dados - Erro - Código: 5121
TBFATURPEM: Numeric out of range.
Nome do arquivo: Arquivo de Produtos/Serviços dos Pedidos de Vendas
Pessoal,
Alguém conhece alguma propriedade ou alguma forma de identificar qual o campo que esta estourando quando da atualização de um atributo no registro.
Grato,
Fabio Ferreira..
Curtidas 0
Respostas
Pjrm1470
06/11/2013
codigo + linha do provavel arquivo que está copiando?
Quanto mais detalhar a informação, melhor e mais rápido será a resposta.
Abraço,
PJRM1470.
Quanto mais detalhar a informação, melhor e mais rápido será a resposta.
Abraço,
PJRM1470.
GOSTEI 0
Fabio Ferreira..
06/11/2013
Segue abaixo o trecho que atualiza essa tabela.
Justamente por conter muitos atributos é a dificuldade de se saber qual campo esta estourando.
Procurei na classe de erros mas não encontrei alguma propriedade que tivesse essa informação. Tem alguma ideia ?
odxARQ.LOCK_REG( DMFATURA.TBFATURpem );
DMFATURA.TBFATURpemCLASFISC.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CLASFISC;
DMFATURA.TBFATURpemCODTDEPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODTDEPEM;
DMFATURA.TBFATURpemCODPREPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODPREPEM;
DMFATURA.TBFATURpemCODFISPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODFISPEM;
DMFATURA.TBFATURpemCODNCMPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODNCMPEM;
DMFATURA.TBFATURpemCODUNI.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODUNI;
DMFATURA.TBFATURpemCODBARPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODBARPEM;
DMFATURA.TBFATURpemUNIVALPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_UNIVALPEM;
DMFATURA.TBFATURpemITEMPCOPEM.ASINTEGER:= KTBPEMSERePRO[KINDPEM].PEM_ITEMPCOPEM;
DMFATURA.TBFATURpemNUMPCOPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_NUMPCOPEM;
DMFATURA.TBFATURpemCUSTOMAT.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_CUSTOMAT;
DMFATURA.TBFATURpemCUSTODIG.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_CUSTODIG;
DMFATURA.TBFATURpemDIASCON.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_DIASCON;
DMFATURA.TBFATURpemHORASCON.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_HORASCON;
DMFATURA.TBFATURpemQTDITEMAT.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_QTDITEMAT;
DMFATURA.TBFATURpemVALITEPED.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALITEPED;
DMFATURA.TBFATURpemPESOBRUPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_PESOBRUPEM;
DMFATURA.TBFATURpemPESOLIQPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_PESOLIQPEM;
{
***** DADOS DO SIMPLES NACIONAL
}
DMFATURA.TBFATURpemCSOSNPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSOSNPEM;
DMFATURA.TBFATURpemVALCREICMM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALCREICMM;
{
***** DADOS DO ICMS
}
DMFATURA.TBFATURpemALIQICM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIQICM;
DMFATURA.TBFATURpemCSTICMPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSTICMPEM;
DMFATURA.TBFATURpemINCICMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCICMPEM;
DMFATURA.TBFATURpemISEICMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ISEICMPEM;
DMFATURA.TBFATURpemOUTICMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_OUTICMPEM;
DMFATURA.TBFATURpemPERREDICM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_PERREDICM;
DMFATURA.TBFATURpemVALORICM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALORICM;
DMFATURA.TBFATURpemVALZICMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALZICMPEM;
{
***** DADOS DA ST
}
DMFATURA.TBFATURpemINCIDESTR.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCIDESTR;
DMFATURA.TBFATURpemSTRPERPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_STRPERPEM;
DMFATURA.TBFATURpemTIPSTRCPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_TIPSTRCPEM;
DMFATURA.TBFATURpemVALORSTR.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALORSTR;
{
***** DADOS DO PIS DA OPERACAO
}
DMFATURA.TBFATURpemALIPISCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIPISCPEM;
DMFATURA.TBFATURpemCSTPISPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSTPISPEM;
DMFATURA.TBFATURpemINCPISCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCPISCPEM;
DMFATURA.TBFATURpemTIPPISCPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_TIPPISCPEM;
DMFATURA.TBFATURpemVALPISCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALPISCPEM;
{
***** DADOS DO COFINS DA OPERACAO
}
DMFATURA.TBFATURpemALIFINCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIFINCPEM;
DMFATURA.TBFATURpemCSTFINPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSTFINPEM;
DMFATURA.TBFATURpemINCFINCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCFINCPEM;
DMFATURA.TBFATURpemTIPFINCPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_TIPFINCPEM;
DMFATURA.TBFATURpemVALFINCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALFINCPEM;
{
***** DADOS DO IPI
}
DMFATURA.TBFATURpemALIQIPI.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIQIPI;
DMFATURA.TBFATURpemCSTIPIPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSTIPIPEM;
DMFATURA.TBFATURpemINCIPIPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCIPIPEM;
DMFATURA.TBFATURpemISEIPIPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ISEIPIPEM;
DMFATURA.TBFATURpemOUTIPIPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_OUTIPIPEM;
DMFATURA.TBFATURpemPERREDIPI.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_PERREDIPI;
DMFATURA.TBFATURpemVALORIPI.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALORIPI;
DMFATURA.TBFATURpemVALZIPIPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALZIPIPEM;
{
***** OUTROS VALORES DO PRODUTO
}
DMFATURA.TBFATURpemVALCONTPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALCONTPEM;
DMFATURA.TBFATURpemVALDCOMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALDCOMPEM;
DMFATURA.TBFATURpemVALDESCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALDESCPEM;
DMFATURA.TBFATURpemVALFRETPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALFRETPEM;
DMFATURA.TBFATURpemVALOUTRPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALOUTRPEM;
DMFATURA.TBFATURpemVALSEGUPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALSEGUPEM;
{
***** DADOS DA CARGA TRIBUTARIA
}
DMFATURA.TBFATURpemALIQTOTPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIQTOTPEM;
DMFATURA.TBFATURpemTRIBTOTPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_TRIBTOTPEM;
{
***** DADOS DO EXTERIOR
}
DMFATURA.TBFATURpemVALBASIMPM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALBASIMPM;
DMFATURA.TBFATURpemVALIMPIMPM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALIMPIMPM;
DMFATURA.TBFATURpemVALIOFIMPM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALIOFIMPM;
DMFATURA.TBFATURpemVALSISCOMM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALSISCOMM;
DMFATURA.TBFATURpemNUMADICPEM.ASINTEGER:= KTBPEMSERePRO[KINDPEM].PEM_NUMADICPEM;
DMFATURA.TBFATURpemSEQADICPEM.ASINTEGER:= KTBPEMSERePRO[KINDPEM].PEM_SEQADICPEM;
DMFATURA.TBFATURpemNUMFCIPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_NUMFCIPEM;
DMFATURA.TBFATURpem.POST;
Justamente por conter muitos atributos é a dificuldade de se saber qual campo esta estourando.
Procurei na classe de erros mas não encontrei alguma propriedade que tivesse essa informação. Tem alguma ideia ?
odxARQ.LOCK_REG( DMFATURA.TBFATURpem );
DMFATURA.TBFATURpemCLASFISC.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CLASFISC;
DMFATURA.TBFATURpemCODTDEPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODTDEPEM;
DMFATURA.TBFATURpemCODPREPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODPREPEM;
DMFATURA.TBFATURpemCODFISPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODFISPEM;
DMFATURA.TBFATURpemCODNCMPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODNCMPEM;
DMFATURA.TBFATURpemCODUNI.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODUNI;
DMFATURA.TBFATURpemCODBARPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CODBARPEM;
DMFATURA.TBFATURpemUNIVALPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_UNIVALPEM;
DMFATURA.TBFATURpemITEMPCOPEM.ASINTEGER:= KTBPEMSERePRO[KINDPEM].PEM_ITEMPCOPEM;
DMFATURA.TBFATURpemNUMPCOPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_NUMPCOPEM;
DMFATURA.TBFATURpemCUSTOMAT.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_CUSTOMAT;
DMFATURA.TBFATURpemCUSTODIG.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_CUSTODIG;
DMFATURA.TBFATURpemDIASCON.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_DIASCON;
DMFATURA.TBFATURpemHORASCON.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_HORASCON;
DMFATURA.TBFATURpemQTDITEMAT.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_QTDITEMAT;
DMFATURA.TBFATURpemVALITEPED.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALITEPED;
DMFATURA.TBFATURpemPESOBRUPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_PESOBRUPEM;
DMFATURA.TBFATURpemPESOLIQPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_PESOLIQPEM;
{
***** DADOS DO SIMPLES NACIONAL
}
DMFATURA.TBFATURpemCSOSNPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSOSNPEM;
DMFATURA.TBFATURpemVALCREICMM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALCREICMM;
{
***** DADOS DO ICMS
}
DMFATURA.TBFATURpemALIQICM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIQICM;
DMFATURA.TBFATURpemCSTICMPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSTICMPEM;
DMFATURA.TBFATURpemINCICMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCICMPEM;
DMFATURA.TBFATURpemISEICMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ISEICMPEM;
DMFATURA.TBFATURpemOUTICMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_OUTICMPEM;
DMFATURA.TBFATURpemPERREDICM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_PERREDICM;
DMFATURA.TBFATURpemVALORICM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALORICM;
DMFATURA.TBFATURpemVALZICMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALZICMPEM;
{
***** DADOS DA ST
}
DMFATURA.TBFATURpemINCIDESTR.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCIDESTR;
DMFATURA.TBFATURpemSTRPERPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_STRPERPEM;
DMFATURA.TBFATURpemTIPSTRCPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_TIPSTRCPEM;
DMFATURA.TBFATURpemVALORSTR.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALORSTR;
{
***** DADOS DO PIS DA OPERACAO
}
DMFATURA.TBFATURpemALIPISCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIPISCPEM;
DMFATURA.TBFATURpemCSTPISPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSTPISPEM;
DMFATURA.TBFATURpemINCPISCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCPISCPEM;
DMFATURA.TBFATURpemTIPPISCPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_TIPPISCPEM;
DMFATURA.TBFATURpemVALPISCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALPISCPEM;
{
***** DADOS DO COFINS DA OPERACAO
}
DMFATURA.TBFATURpemALIFINCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIFINCPEM;
DMFATURA.TBFATURpemCSTFINPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSTFINPEM;
DMFATURA.TBFATURpemINCFINCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCFINCPEM;
DMFATURA.TBFATURpemTIPFINCPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_TIPFINCPEM;
DMFATURA.TBFATURpemVALFINCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALFINCPEM;
{
***** DADOS DO IPI
}
DMFATURA.TBFATURpemALIQIPI.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIQIPI;
DMFATURA.TBFATURpemCSTIPIPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_CSTIPIPEM;
DMFATURA.TBFATURpemINCIPIPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_INCIPIPEM;
DMFATURA.TBFATURpemISEIPIPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ISEIPIPEM;
DMFATURA.TBFATURpemOUTIPIPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_OUTIPIPEM;
DMFATURA.TBFATURpemPERREDIPI.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_PERREDIPI;
DMFATURA.TBFATURpemVALORIPI.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALORIPI;
DMFATURA.TBFATURpemVALZIPIPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALZIPIPEM;
{
***** OUTROS VALORES DO PRODUTO
}
DMFATURA.TBFATURpemVALCONTPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALCONTPEM;
DMFATURA.TBFATURpemVALDCOMPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALDCOMPEM;
DMFATURA.TBFATURpemVALDESCPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALDESCPEM;
DMFATURA.TBFATURpemVALFRETPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALFRETPEM;
DMFATURA.TBFATURpemVALOUTRPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALOUTRPEM;
DMFATURA.TBFATURpemVALSEGUPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALSEGUPEM;
{
***** DADOS DA CARGA TRIBUTARIA
}
DMFATURA.TBFATURpemALIQTOTPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_ALIQTOTPEM;
DMFATURA.TBFATURpemTRIBTOTPEM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_TRIBTOTPEM;
{
***** DADOS DO EXTERIOR
}
DMFATURA.TBFATURpemVALBASIMPM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALBASIMPM;
DMFATURA.TBFATURpemVALIMPIMPM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALIMPIMPM;
DMFATURA.TBFATURpemVALIOFIMPM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALIOFIMPM;
DMFATURA.TBFATURpemVALSISCOMM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALSISCOMM;
DMFATURA.TBFATURpemNUMADICPEM.ASINTEGER:= KTBPEMSERePRO[KINDPEM].PEM_NUMADICPEM;
DMFATURA.TBFATURpemSEQADICPEM.ASINTEGER:= KTBPEMSERePRO[KINDPEM].PEM_SEQADICPEM;
DMFATURA.TBFATURpemNUMFCIPEM.ASSTRING:= KTBPEMSERePRO[KINDPEM].PEM_NUMFCIPEM;
DMFATURA.TBFATURpem.POST;
GOSTEI 0
Pjrm1470
06/11/2013
ja debugou? Ao debugar ele deve cair no except na linha em que se estoura.
Não da pra eu saber com essas informações, pois não sei o datatype de seus fields e suas propriedades.
Não da pra eu saber com essas informações, pois não sei o datatype de seus fields e suas propriedades.
GOSTEI 0
Fabio Ferreira..
06/11/2013
Não tem como debugar pois esse erro esta dando em produção, no cliente em alguma condição que não temos como levantar. Se o erro estivesse ocorrendo aqui no escritório não teríamos essa dificuldade.
>>>>Não da pra eu saber com essas informações, pois não sei o datatype de seus fields e suas propriedades.
Quanto ao datatype veja no nome do atributo (VALSISCOMM) que esta a sua definição (float, integer, string, etc...).
DMFATURA ==> Data modulo com as tabelas;
TBFATURpem ==> Nome da tabela
VALSISCOMM ==> atributo da tabela
.ASxxxx ==> datatype
DMFATURA.TBFATURpemVALSISCOMM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALSISCOMM;
>>>>Não da pra eu saber com essas informações, pois não sei o datatype de seus fields e suas propriedades.
Quanto ao datatype veja no nome do atributo (VALSISCOMM) que esta a sua definição (float, integer, string, etc...).
DMFATURA ==> Data modulo com as tabelas;
TBFATURpem ==> Nome da tabela
VALSISCOMM ==> atributo da tabela
.ASxxxx ==> datatype
DMFATURA.TBFATURpemVALSISCOMM.ASFLOAT:= KTBPEMSERePRO[KINDPEM].PEM_VALSISCOMM;
GOSTEI 0
Fabio Ferreira..
06/11/2013
Pelo jeito não existe essa possibilidade de se identificar o atributo.
Esse tipo de comportamento da linguagem é que complica o desenvolvimento profissional. É muito difícil ocorrer um erro no cliente, como esse ou um access violation, etc e não termos como identificar o que gerou o problema. Tudo bem que tem bibliotecas que podem ser utilizada para isso mas ai estamos trocando um problema por outro.
É uma pena.
Esse tipo de comportamento da linguagem é que complica o desenvolvimento profissional. É muito difícil ocorrer um erro no cliente, como esse ou um access violation, etc e não termos como identificar o que gerou o problema. Tudo bem que tem bibliotecas que podem ser utilizada para isso mas ai estamos trocando um problema por outro.
É uma pena.
GOSTEI 0
Deivison Melo
06/11/2013
Utilize o Remote Debugger para Depurar sua aplicação remotamente.
Seguem abaixo alguns exemplos:
[b]Artigo[/b]
[url]http://www.planetadelphi.com.br/artigo/109/remote-debbuger-server[/url]
[b]Artigo Marco Cantu[/b]
[url]http://www.marcocantu.com/delphipowerbook/DebuggingDelphiPrograms.pdf[/url]
[b]Video Aula[/b]
[url]http://www.youtube.com/watch?v=k_8To6PgEHM[/url]
Esse são alguns dos poucos exemplos que existem sobre isso!
Abração e bons códigos!!
Seguem abaixo alguns exemplos:
[b]Artigo[/b]
[url]http://www.planetadelphi.com.br/artigo/109/remote-debbuger-server[/url]
[b]Artigo Marco Cantu[/b]
[url]http://www.marcocantu.com/delphipowerbook/DebuggingDelphiPrograms.pdf[/url]
[b]Video Aula[/b]
[url]http://www.youtube.com/watch?v=k_8To6PgEHM[/url]
Esse são alguns dos poucos exemplos que existem sobre isso!
Abração e bons códigos!!
GOSTEI 0
Pjrm1470
06/11/2013
Tinha esquecido de mencionar:
Sempre que eu desenvolvo um aplicativo, eu tento contornar todas as possibilidades de erro. Algo bem simples que pode estar acontecendo, é que por exemplo:
Se seu campo for um tipo NUMERIC(10,2), limite o TDBEdit (ou TEdit) para que não ultrapasse a quantidade que o campo suporta.
Se está estourando, é porque está deixando inserir valor superior à capacidade do seu campo.
Se não há tratamento disso nos controles visuais, faça uma verificação no código antes de atribuir o valor ao campo. (Ps. Acho mais facil limitar o input do usuário)
Espero que ajude.
Abraço.
Sempre que eu desenvolvo um aplicativo, eu tento contornar todas as possibilidades de erro. Algo bem simples que pode estar acontecendo, é que por exemplo:
Se seu campo for um tipo NUMERIC(10,2), limite o TDBEdit (ou TEdit) para que não ultrapasse a quantidade que o campo suporta.
Se está estourando, é porque está deixando inserir valor superior à capacidade do seu campo.
Se não há tratamento disso nos controles visuais, faça uma verificação no código antes de atribuir o valor ao campo. (Ps. Acho mais facil limitar o input do usuário)
Espero que ajude.
Abraço.
GOSTEI 0
Fabio Ferreira..
06/11/2013
Ola PJRM1470,
É claro que também fazemos tudo isso que você falou. Isso realmente é bem básico e definitivamente não é esse tipo de resposta que estamos buscando.
Tudo isso posto, a questão é que o erro ocorreu e estamos somente querendo saber se tem alguma forma da linguagem nos dar essa informação, considerando que todos os cuidados foram tomados, os edits estão corretos, visualmente foi conferido, etc...
Só para se ter uma ideia nosso sistema tem 215 tabelas com 6.312 atributos. Em alguma situação, não prevista ou gerada por algum usuário muito criativo, o campo fica negativo e ai já estoura o tamanho previsto.
De qualquer maneira grato pela resposta,
Um abraco,
Fabio
Se alguém souber a resposta, agradecemos.
É claro que também fazemos tudo isso que você falou. Isso realmente é bem básico e definitivamente não é esse tipo de resposta que estamos buscando.
Tudo isso posto, a questão é que o erro ocorreu e estamos somente querendo saber se tem alguma forma da linguagem nos dar essa informação, considerando que todos os cuidados foram tomados, os edits estão corretos, visualmente foi conferido, etc...
Só para se ter uma ideia nosso sistema tem 215 tabelas com 6.312 atributos. Em alguma situação, não prevista ou gerada por algum usuário muito criativo, o campo fica negativo e ai já estoura o tamanho previsto.
De qualquer maneira grato pela resposta,
Um abraco,
Fabio
Se alguém souber a resposta, agradecemos.
GOSTEI 0