Delphi com Fortes Report
Estou desenvolvendo um relatório usando o fortes report e na minha tabela eu tenho um campo Boolean e gostaria de quando esse campo fosse ´true´ em uma RLLabel no relatório aparecesse um ´X´.
ex.:
procedure Tform.RLLabelD1BeforePrint(Sender: TObject;
var Text: String; var PrintIt: Boolean);
begin
if tabelavalor.Value = true then
Text := ´X´
else
Text := ´´;
end;
Mais toda vez que eu executo o relatório da um erro na execução:
RLReport: Erro durante a preparação do relatório
Access violation at addess 0049B273 in module ´Project.exe´. Read of address FFFFFFFF
Se alguem pode solucionar,
grato.
ex.:
procedure Tform.RLLabelD1BeforePrint(Sender: TObject;
var Text: String; var PrintIt: Boolean);
begin
if tabelavalor.Value = true then
Text := ´X´
else
Text := ´´;
end;
Mais toda vez que eu executo o relatório da um erro na execução:
RLReport: Erro durante a preparação do relatório
Access violation at addess 0049B273 in module ´Project.exe´. Read of address FFFFFFFF
Se alguem pode solucionar,
grato.
Anonymous
Curtidas 0
Respostas
Leus
15/02/2005
Bom dia.
Caro(a) amigo(a).
Não é mais fácil você criar um campo no objeto de dados Table ou Query e utilizar essa conversão no evento onCalcFields do mesmo.
Na minha opnião ficaria mais simples.
Porém se você quer realmente continuar com a sua linha de raciocinio então ...
Será necessário que você coloque no projeto do relatório um objeto de nome: RLExpressionParser e na propriedade: Expression você coloca a expressão semelhante a que você está colocando no RLLabel.
Não sou um expert em Fortes Report pois estou a pouco com ele instalado, mas tentei ajudar.
Um forte abraço.
Caro(a) amigo(a).
Não é mais fácil você criar um campo no objeto de dados Table ou Query e utilizar essa conversão no evento onCalcFields do mesmo.
Na minha opnião ficaria mais simples.
Porém se você quer realmente continuar com a sua linha de raciocinio então ...
Será necessário que você coloque no projeto do relatório um objeto de nome: RLExpressionParser e na propriedade: Expression você coloca a expressão semelhante a que você está colocando no RLLabel.
Não sou um expert em Fortes Report pois estou a pouco com ele instalado, mas tentei ajudar.
Um forte abraço.
GOSTEI 0
Tnaires
15/02/2005
Não vejo nenhum motivo pra ter dado esse erro no relatório. Às vezes o Delphi informa essa mensagem de erro depois d muito tempo compilando e recompilando o programa (principalmente se vc tiver no Windows 98). Tente dar uma reiniciada no computador, já resolvi vários problemas semelhantes com essa simples medida :)
Abraços
Abraços
GOSTEI 0
Cesarpir
15/02/2005
Amigo se vc utilizou um rlLabel é para funcionar, já fiz isto o que vc quer, se o exemplo que vc escreveu for realmente o código, o que consigo ver de errado é a falta do método caption do Text, será que não é assim:
ex.:
procedure Tform.RLLabelD1BeforePrint(Sender: TObject;
var Text: String; var PrintIt: Boolean);
begin
if tabelavalor.Value = true then
Text.caption := ´X´ //Acrescente o caption
else
Text.caption := ´´; //Acrescente o caption
end;
Se não, pode ser que o erro esteja em outro local, precisaria informar mais detalhes.
Espero que ajude, senão desculpas
Ce´sar
ex.:
procedure Tform.RLLabelD1BeforePrint(Sender: TObject;
var Text: String; var PrintIt: Boolean);
begin
if tabelavalor.Value = true then
Text.caption := ´X´ //Acrescente o caption
else
Text.caption := ´´; //Acrescente o caption
end;
Se não, pode ser que o erro esteja em outro local, precisaria informar mais detalhes.
Espero que ajude, senão desculpas
Ce´sar
GOSTEI 0
Tnaires
15/02/2005
Amigo se vc utilizou um rlLabel é para funcionar, já fiz isto o que vc quer, se o exemplo que vc escreveu for realmente o código, o que consigo ver de errado é a falta do método caption do Text
Text é a variável passada por referência pelo evento BeforePrint (do tipo string), e não um objeto.
GOSTEI 0
Anonymous
15/02/2005
Tnaires você tinha razão, foi só eu reiniciar o meu micro e funcionou!
+ obrigado a todos pela força!
+ obrigado a todos pela força!
GOSTEI 0