Página 1 de 1

Bug Harbour?

Enviado: 20 Abr 2017 00:36
por JoséQuintas
Tem horas que o Harbour me deixa confuso.
Esta é uma delas.
bugharbour.png
Como pode faltar o que existe?

Bug Harbour?

Enviado: 20 Abr 2017 00:39
por JoséQuintas
Exceto por um detalhe que lembrei....

São fontes do ASimões.... será que é caractere inválido de novo?

Bug Harbour?

Enviado: 20 Abr 2017 01:00
por JoséQuintas
Desta vez não é.
Sem idéias agora.

Bug Harbour?

Enviado: 20 Abr 2017 12:09
por Kapiaba

Código: Selecionar todos

   #define HB_SYMBOL_UNUSED( symbol ) ( symbol := ( symbol ) )

Código: Selecionar todos

   #ytranslate HB_SYMBOL_UNUSED( <v1> , <v2> [, <vN> ] ) => ;
                   HB_SYMBOL_UNUSED( <v1> ) ;
                 ; HB_SYMBOL_UNUSED( <v2> ) ;
               [ ; HB_SYMBOL_UNUSED( <vN> ) ]

Código: Selecionar todos

   LOCAL aDir := hb_vfDirectory( "*.prg" )
   AScan( aDir,,, {| x, y | x[ 1 ] := "test.prg", HB_SYMBOL_UNUSED( y ) } )
Abs,

Bug Harbour?

Enviado: 20 Abr 2017 13:24
por JoséQuintas
Só pra complementar:
Confirmado, quando coloca #include "std.ch", que não é comum, causa problemas com o HB_SYMBOL_UNUSED

https://github.com/vszakats/harbour-core/issues/291

https://github.com/harbour/core/issues/152

A parte curiosa é que o problema se manifestou no fonte seguinte, e não no que continha #include "std.ch".

Bug Harbour?

Enviado: 22 Abr 2017 20:42
por asimoes
Todos os meus fonte são editados com ultraedit 15.20 ansi/oem 1252 (ANSI - Latino I)

Bug Harbour?

Enviado: 22 Abr 2017 22:50
por JoséQuintas
Não sei o que pode ter acontecido com aquele outro fonte.
Um detalhe é que quando o texto não dá pra ser exibido, o caractere é omitido.
Com isso, um copiar/colar pode conter caracteres diferentes, que não dá pra ver, e pode ter vindo de outro fonte.

Sobre a quantidade de caracteres que havia mostrado, parte daqueles são porque fiz o teste usando Harbour puro, então caracteres PTBR também foram considerados "diferentes".
A única certeza é que após a remoção o problema foi resolvido.

Quanto ao std.ch do Harbour, é pra NÃO USAR, e não vai ser alterado, porque é comportamento semelhante ao Clipper (ou quase).

No Clipper, ocorria ao usar linha de comando ou arquivo CLP, o std.ch afetar todos os envolvidos nessa etapa, portanto na chamada do Clipper.
No Harbour, a aceleração do HBMK2 agrupa fontes pra ganhar tempo, coisa que não ocorria com LNK do Clipper, por isso o "quase", porque neste caso é fora de nosso controle.

Mas se não é pra usar, tanto faz, é só não usar.... rs