GARANTIR DESCONTO

Fórum Delphi com Fortes Report #268553

15/02/2005

0

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.


Anonymous

Anonymous

Responder

Posts

15/02/2005

Leus

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.


Responder

Gostei + 0

15/02/2005

Tnaires

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


Responder

Gostei + 0

15/02/2005

Cesarpir

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


Responder

Gostei + 0

15/02/2005

Tnaires

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.


Responder

Gostei + 0

15/02/2005

Anonymous

Tnaires você tinha razão, foi só eu reiniciar o meu micro e funcionou!
+ obrigado a todos pela força!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar