Erro 2 Rave

12/01/2013

0

Procurei o dia todo um caso parecido mas não achei nada.

no Rave fiz o seguinte código:

 
if  DataBandServicos.Visible = True then
   BandTituloServicos.visible := True;
 else
   BandTituloServicos.visible := False;
end if;


Mas após isso o Delphi reclamou de colocar em uses "RvLDCompiler".
Coloquei e após isso o Rave gerou uma mensagem de erro "Erro #2 - [:]Expected.
O problema é esperado ":" onde será? o Rave não mostra como o Delphi.

Tentei excluir o Evento, Reinstalei tudo, mas não deu certo. Agora não roda nenhum relatório do projeto.

Delhi XE2 Update4, Rave 10.0.0
Henrique Rodrigues

Henrique Rodrigues

Responder

Posts

14/01/2013

Henrique Rodrigues

sobe
Responder

14/01/2013

Henrique Rodrigues

Achei algo em http://qc.embarcadero.com/wc/qcmain.aspx?d=69502.

É o mesmo problema, mas lá também não foi oferecido uma solução
Responder

15/01/2013

Henrique Rodrigues

Complementando

Lendo a ajuda do rave, lá diz para habilitar o report expert para analizar os erros, tem algumas imagens, mas não tem nada disso no rave 10.0.0.

No site da Nevrona vai até a versão 5.
Responder

16/01/2013

Bruno Leandro

Ola Henrique tente realizar da seguinte forma e veja se compila

if (DataBandServicos.Visible) then
BandTituloServicos.Visible := True;
else
BandTituloServicos.Visible := False;
end if;
Responder

16/01/2013

Henrique Rodrigues

Deu o mesmo erro.

Mesmo excluíndo o evento, deixando todos os relatórios sem eventos continua o mesmo erro
Responder

16/01/2013

Bruno Leandro

se voce salva os arquivos para selecionar pra imprimir, voce pode tentar copiar o arquivo pra outra pasta e criar o relatorio novamente ou mover o arquivo pra outra pasta e criar um com o mesmo nome e editar com o bloco de notas e transferir o conteudo para o arquivo em branco.
Responder

16/01/2013

Henrique Rodrigues

Tentei o seguinte.
Comecei um novo projeto de relatório, importei tudo do relatório que está com erro.

agora aparece um novo erro:

Access violation at address 04FBEA68 in module 'RvEngine100.bpl'
Write of address 00000000.

Certamente está tentando acessar algo que não foi criado, mas não entendi, vou tentar mais um pouco, se não der acho que foi migrar para o Fast
Responder

17/01/2013

Bruno Leandro

Quando o rave começa dar esses erros meio estranho, eu parte de um relatorio vazio e vou colocando as funcionalidade aos poucos, por ele nao ser integrado ao delphi fica dificil, a parte de debug e algum processos ocorrem internamente.
Responder

17/01/2013

Henrique Rodrigues

Parei de mexer com ele, perdi muito tempo. Estou aprendendo a usar o FastReport e começar tudo d novo.
Responder

12/01/2021

Marcilio Neto

Olá pessoal,
sei que já fazem anos que postaram este problema mas somente como registro, experimentei o mesmo problema, ao compilar aparecia mensagem de erro "Error #2 - [:] expected." Após quase enlouquecer, reiniciar o computador, excluir componentes o erro continuava mesmo sem nenhum código no script.

Foi quando me atentei ao nome que dei para um Band Componente, pasmem bcCabeçalho... ao substituir o "ç" o erro desapareceu.

Espero que ajude alguém.
Responder

14/06/2023

Anderson Possamai

Pessoal

Caso alguém continue com o problema, eu tive algo com "General Compiler Error", adicionei a uses RvLDCompiler e dei um objeto.new e um objeto.close ao final do uso com try finally e aparentemente resolveu.
Responder

14/06/2023

Arthur Heinrich

Agora que parece que o problema já foi resolvido, vou comentar este trecho de código:

 
if DataBandServicos.Visible = True then
  BandTituloServicos.visible := True;
else
  BandTituloServicos.visible := False;
end if;


Você pode ter escrito desta forma por questões particulares ou para tornar mais explícito o que está sendo feito. Mas, este código é passível de otimização, tanto no código como em desempenho.

A primeira simplificação é que um "IF" testa uma expressão booleana. Se sua variável é do tipo boolean, não é necessário compará-la com "true" para que entre no IF.
Além disso, não se utiliza ";" antes do "else", nem "end if;" no Delphi, o que me leva a crer que talvez isto seja um trecho de código em outra linguagem.

 
if DataBandServicos.Visible then
  BandTituloServicos.visible := True
else
  BandTituloServicos.visible := False;


Porém, a maior simplificação, neste caso, é que queremos que BandTituloServicos.visible seja igual a DataBandServicos.Visible. Logo, basta fazer:

 
  BandTituloServicos.visible := DataBandServicos.Visible;

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar