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:

Código: Selecionar todos

clipper %1 /a/b/d/i/n/v/w/u
Use assim e veja o que ocorre:

Código: Selecionar todos

clipper %1
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