Página 1 de 1

Error al Compilar Ejemplo gtwvg

Enviado: 25 Dez 2019 20:29
por Ruben Dario
Saludos al Forum

He tratado de agregar este ejemplo a mi proyecto y me da este error de compilacion

K:\HARBOUR_V\harbour_bcc74\contrib\gtwvg\tests\_dyndlgs.prg(31) Error E0004 STATIC declaration follows executable statement
K:\HARBOUR_V\harbour_bcc74\contrib\gtwvg\tests\_utils.prg(33) Error E0004 STATIC declaration follows executable statement
K:\HARBOUR_V\harbour_bcc74\contrib\gtwvg\tests\_utils.prg(34) Error E0004 STATIC declaration follows executable statement

Exactamente el error esta en esta linea
_dyndlgs.prg(31)
THREAD STATIC t_aSlides := {}

_utils.prg(33) _utils.prg(34)

THREAD STATIC t_keys_ := {, , , , , , , , , , , , , , , , , , , }
THREAD STATIC t_pic_ := {, , , , , , , , , , , , , , , , , , , }

Error al Compilar Ejemplo gtwvg

Enviado: 25 Dez 2019 22:16
por JoséQuintas
Error E0004 STATIC declaration follows executable statement
Isso indica que tem fonte antes da declaração STATIC.
Se não mexeu no fonte, então.... falta compilar usando -n

Qual a diferença?

----FONTE.PRG---

Código: Selecionar todos

STATIC x
FUNCTION x()
Se compilar com -n, equivale a compilar somente o conteúdo do PRG:

Código: Selecionar todos

STATIC x
FUNCTION x()
Se compilar SEM -n, equivale a considerar também o NOME do PRG:

Código: Selecionar todos

PROCEDURE Fonte

STATIC x

FUNCTION x()
No aplicativo existirão Fonte() e x()
E o erro é porque a declaração não poderia aparecer depois do fonte ter começado.

O default do Harbour era compilação -n, diferente do Clipper, mas por algum motivo voltou a ser igual no Clipper.

Opção 1: Usar -n como padrão, e ajustar outros fontes que possam precisar de ajuste

Opção 2: nesses fontes, coloque na primeira linha: #pragma -n
assim o compilador acrescenta -n somente pra eles

hbmk2 *.prg -n
ou hbmk2 *.prg e incluir o #pragma -n em cada fonte da wvg

Error al Compilar Ejemplo gtwvg

Enviado: 26 Dez 2019 22:35
por Ruben Dario
Gracias

Funciono.