Error customconstraints no DELPHI 2009 - Stack Overflow
Ola pessoal estou com um problema, migrei uma aplicação de D2007 para D2009 e ta tudo funcionando bem, so estou tendo problemas em algumas telas com Error de ´Stack Overflow´.
Observei que sao onde uso as condições de validações de customconstraints estao dando erro.
Quando marco como comentario as linhas das condições customconstraints para de dar erro de ´stack overflow´ o pior que quando volto a compilar no D2007 nao acontece erro algum.
Ja atualizei o D2009 com Update 1 e 2 e continua o error algum tem alguma idade do que pode ser. Sera que erro no D2009?
Desde ja Agradeço..
Observei que sao onde uso as condições de validações de customconstraints estao dando erro.
Quando marco como comentario as linhas das condições customconstraints para de dar erro de ´stack overflow´ o pior que quando volto a compilar no D2007 nao acontece erro algum.
Ja atualizei o D2009 com Update 1 e 2 e continua o error algum tem alguma idade do que pode ser. Sera que erro no D2009?
Desde ja Agradeço..
J@ck
Curtidas 0
Respostas
Woinch
09/01/2009
Pode postar o código para nós?
Obrigado.
Obrigado.
GOSTEI 0
J@ck
09/01/2009
Tenho uma class para configurar as propriedades do Dataset a função e essa ai em baixo quando comento a Linha ´ CDS.FieldByName(strFieldName).CustomConstraint := ´VALUE IS NOT NULL AND VALUE <> ´ + QuotedStr(´´); ´ tudo funciona normal.
class function TPDV_Class.PDV_00_Propertys(CDS: TDataSet): Boolean;
var
intFor: Integer;
strFieldName: string;
begin
for intFor := 0 to CDS.Fields.Count -1 do
begin
// Guarda o nome do campo.
strFieldName := UpperCase(CDS.Fields[intFor].FieldName);
//
if (strFieldName = ´PDV_CODIGO´) then
begin
CDS.FieldByName(strFieldName).DisplayLabel := ´Código do Ponto de Venda´;
CDS.FieldByName(strFieldName).CustomConstraint := ´VALUE IS NOT NULL AND VALUE <> ´ + QuotedStr(´´);
CDS.FieldByName(strFieldName).ConstraintErrorMessage := ´O campo [ Código do Ponto de Venda ] deve ser preenchido!´;
end
else
if (strFieldName = ´PAR_CODIGO´) then
begin
CDS.FieldByName(strFieldName).DisplayLabel := ´Código do Parâmetro´;
CDS.FieldByName(strFieldName).CustomConstraint := ´VALUE IS NOT NULL AND VALUE <> ´ + QuotedStr(´´);
CDS.FieldByName(strFieldName).ConstraintErrorMessage := ´O campo [ Código do Parâmetro ] deve ser preenchido!´;
end;
end;
Result := True;
end;
[color=blue:9ce21e1fbc][/color:9ce21e1fbc]
class function TPDV_Class.PDV_00_Propertys(CDS: TDataSet): Boolean;
var
intFor: Integer;
strFieldName: string;
begin
for intFor := 0 to CDS.Fields.Count -1 do
begin
// Guarda o nome do campo.
strFieldName := UpperCase(CDS.Fields[intFor].FieldName);
//
if (strFieldName = ´PDV_CODIGO´) then
begin
CDS.FieldByName(strFieldName).DisplayLabel := ´Código do Ponto de Venda´;
CDS.FieldByName(strFieldName).CustomConstraint := ´VALUE IS NOT NULL AND VALUE <> ´ + QuotedStr(´´);
CDS.FieldByName(strFieldName).ConstraintErrorMessage := ´O campo [ Código do Ponto de Venda ] deve ser preenchido!´;
end
else
if (strFieldName = ´PAR_CODIGO´) then
begin
CDS.FieldByName(strFieldName).DisplayLabel := ´Código do Parâmetro´;
CDS.FieldByName(strFieldName).CustomConstraint := ´VALUE IS NOT NULL AND VALUE <> ´ + QuotedStr(´´);
CDS.FieldByName(strFieldName).ConstraintErrorMessage := ´O campo [ Código do Parâmetro ] deve ser preenchido!´;
end;
end;
Result := True;
end;
[color=blue:9ce21e1fbc][/color:9ce21e1fbc]
GOSTEI 0
Woinch
09/01/2009
Não possuo o D2009 instalado, mas será que ao executar esse comando ele não está chamando novamente essa função novamente e entrando em loop? Se você debuggar ele passa por ali uma vez só?
Abraços...
Abraços...
GOSTEI 0