Erro 2 Rave

Delphi

12/01/2013

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

Curtidas 0

Respostas

Henrique Rodrigues

Henrique Rodrigues

12/01/2013

sobe
GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

12/01/2013

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
GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

12/01/2013

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.
GOSTEI 0
Bruno Leandro

Bruno Leandro

12/01/2013

Ola Henrique tente realizar da seguinte forma e veja se compila

if (DataBandServicos.Visible) then
BandTituloServicos.Visible := True;
else
BandTituloServicos.Visible := False;
end if;
GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

12/01/2013

Deu o mesmo erro.

Mesmo excluíndo o evento, deixando todos os relatórios sem eventos continua o mesmo erro
GOSTEI 0
Bruno Leandro

Bruno Leandro

12/01/2013

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.
GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

12/01/2013

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
GOSTEI 0
Bruno Leandro

Bruno Leandro

12/01/2013

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.
GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

12/01/2013

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

Marcilio Neto

12/01/2013

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.
GOSTEI 0
Anderson Possamai

Anderson Possamai

12/01/2013

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.
GOSTEI 0
Arthur Heinrich

Arthur Heinrich

12/01/2013

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;

GOSTEI 0
POSTAR