É só comentário
Código: Selecionar todos
#include "inkey.ch"
#include "hbclass.ch"
PROCEDURE Main
SetMode(33,100)
SetColor( "W/B" )
CLS
Inkey(0)
RETURN
PROCEDURE HB_GTSYS
REQUEST HB_GT_WVG_DEFAULT
RETURN
FUNCTION AppVersaoExe(); RETURN ""
FUNCTION AppUserName(); RETURN ""
STATIC CREATE CLASS test
VAR x
ENDCLASS
A declaração de classe está errada, STATIC não é no início, é no final.
compilando -w0
test.prg:21: error E0004 STATIC declaration follows executable statement
test.prg:23: error E0030 Syntax error "syntax error at 'ALWAYS'"
2 errors
compilando -w1
test.prg:21: error E0004 STATIC declaration follows executable statement
test.prg:22: warning W0001 Ambiguous reference 'OCLASS'
test.prg:22: warning W0001 Ambiguous reference 'NSCOPE'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: error E0030 Syntax error "syntax error at 'ALWAYS'"
test.prg:23: warning W0001 Ambiguous reference 'S_OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'S_OCLASS'
2 errors
compilando -w2
test.prg:21: warning W0028 Unreachable code
test.prg:21: error E0004 STATIC declaration follows executable statement
test.prg:22: warning W0001 Ambiguous reference 'OCLASS'
test.prg:22: warning W0001 Ambiguous reference 'NSCOPE'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: error E0030 Syntax error "syntax error at 'ALWAYS'"
test.prg:23: warning W0001 Ambiguous reference 'S_OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0028 Unreachable code
test.prg:23: warning W0001 Ambiguous reference 'S_OCLASS'
2 errors
compilando -w3
test.prg:21: warning W0028 Unreachable code
test.prg:21: error E0004 STATIC declaration follows executable statement
Class member 'X' declaration without class definition.
test.prg:22: warning W0001 Ambiguous reference 'OCLASS'
test.prg:22: warning W0001 Ambiguous reference 'NSCOPE'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: error E0030 Syntax error "syntax error at 'ALWAYS'"
test.prg:23: warning W0001 Ambiguous reference 'S_OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OCLASS'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0001 Ambiguous reference 'OINSTANCE'
test.prg:23: warning W0028 Unreachable code
test.prg:23: warning W0001 Ambiguous reference 'S_OCLASS'
3 errors
Seja qual for a opção, é o primeiro erro que aparece, os demais são consequência.
É que quem olhar a lista, parece uma doideira sem sentido.
Mas antes das alterações, causava GPF no compilador harbour, e ele abortava a compilação.
Agora ele prossegue até o fim.
E a alteração atual é porque a correção anterior gerou problemas no uso normal.
Agora todas estão ok, os que mostrei aqui, e o problema gerado na alteração anterior.
O problema criado na alteração anterior nem tem o que mostrar, compila normalmente em todos os casos, seria esse mesmo fonte sem o STATIC.