Página 1 de 1
sintaxe correta porem o compilador da erroC2002
Enviado: 24 Set 2014 20:58
por Francisco Diniz
Tenho uns programas em clipper que rodam muito bem no meu windows XP e que dá bem para o gasto. Tive estes dias que realizar umas mudanças nos prgs para adequar as novas realidades e necessidades. Mas ai foi onde a coisa pegou. Instalei o CLIPPER 5.3 e o saudoso e inestimável SK2 que na HD, alterei o autoexec.nt e o config.nt e instalei também no system.ini a linha pervmfiles=150.
Então dei inicio ao processo para compilar o primeiro prg que contém main(), através de uma "batzinha" >> CLIP
>>
echo off
echo %0
clipper %1 /a/b/d/i/n/v/w/u
<<
E o resultado não foi agradável: ""ERROR C2001 SYNTAX ERROR :"SCOREBOARD"
""ERROR C2001 SYNTAX ERROR :"WRAP"
"ERROR C2001 SYNTAX ERROR :"CONFIRM"
Todos estes erros são referentes as linhas :
SET SCOREBOARD OFF
SET WRAP ON
SET CONFIRM ON
Todos os programas que possuem " SET " dão erro nestas linhas. Porque ?
Não entendi e não consegui ler em lugar nenhum alguma explicação para isto.
Alguém de vcs sabe me dizer como resolvo isso ?
fique grato por uma luz
Abraços
sintaxe correta porem o compilador da erroC2002
Enviado: 24 Set 2014 21:58
por Jairo Maia
Olá Francisco,
Há algo errado em um desses arquivos: STD.CH e/ou SET.CH, que ficam na pasta include do Clipper.
A questão é que esses comandos são Constantes definidas em arquivos .CH, neste caso, o arquivo STD.CH. Vou sugerir você substituir essas constantes pelas suas respectivas funções, e veja se o erro será resolvido. Se ainda assim não resolver, há algo errado no arquivo SET.CH.
Código: Selecionar todos
Set( _SET_SCOREBOARD, .F. )
Set( _SET_WRAP, .T. )
Set( _SET_CONFIRM, .T. )
sintaxe correta porem o compilador da erroC2002
Enviado: 25 Set 2014 07:01
por Francisco Diniz
Bom dia Jairo
Agradeço de pronto sua atenção.
Acatei sua sugestão e não deu mais inconsistência neste parâmetro, compilou certinho, porém veio outras zebras de encontro:
>>> Error C2001 Syntax error: '@' --- >> Refere-se a:
@23,02 say " Selecione com setas e tecle <ENTER>, <ESC> - finaliza. "
Logo a seguir outro erro :
>>> Error C2002 Incompletete Statement or unbalanced delimeters
que se refere a linha no. 52 do loping " if " abaixo >>
49 if v_f=.t.
50 dbcloseall()
51 scroll()
52 quit
53 return nil
54 endif
Te pergunto. Será que este meu Clipper esta "bichado" ou foi mau instalado ? - Antes estes erros não apareciam e agora passaram a surgir. Estranho né ?
sintaxe correta porem o compilador da erroC2002
Enviado: 25 Set 2014 09:36
por Jairo Maia
Olá Francisco,
Tanto o arroba "@" como o QUIT são também constantes manifestas no arquivo STD.CH. Antes de achar que há problema em seus arquivos, vou sugerir você mudar sua linha de compilação e ver o que acontece.
Ao invés de usar assim:
Use assim e veja o que ocorre:
Se funcionar acrescente um-a-um somente os parâmetros necessários para compilar sua aplicação. Veja o que ocorre.
sintaxe correta porem o compilador da erroC2002
Enviado: 25 Set 2014 10:35
por Euclides
Olá pessoal.
É só retirar o último "/u"
(definiu um novo "command def set" e não especificou o nome do arquivo .CH)
Eu era meio "rigoroso" com as definições do Clipper e só utilizava:
clipper %1 /n/a/v/w
T+
Euclides
sintaxe correta porem o compilador da erroC2002
Enviado: 30 Set 2014 16:31
por Eolo
Código: Selecionar todos
49 if v_f=.t.
50 dbcloseall()
51 scroll()
52 quit
53 return nil
54 endif
Francisco, esse RETURN NIL depois do QUIT não faz sentido. O QUIT faz o seu programar terminar e o RETURN nunca vai ser executado. Pode eliminar a linha 53.
Também, as funções DBCLOSEALL e SCROLL não parecem necessárias:
- o QUIT fecha os DB abertos, então a linha 50 pode ser eliminada.
- o linha 51 também não faz sentido: dar um scroll em algum arquivo e logo em seguida fechar tudo?
Por outro lado, se o RETURN é necessário, para o controle voltar a quem chamou a função, então precisa eliminar o QUIT.
sintaxe correta porem o compilador da erroC2002
Enviado: 06 Out 2014 07:51
por Francisco Diniz
Bom dia
Observei bem e por de fato não tem sentido mesmo . Dei uma enxugada em várias linhas desnecessárias.
Abraços
Francisco