Página 1 de 1

Ajuda Linux/C/Sei lá

Enviado: 14 Fev 2019 17:50
por JoséQuintas
Hoje estou com um problema extremamente.... sei lá....

Código: Selecionar todos

         ++n_contador
      ENDDO
      MsgExclamation( "final do segundo do while" )
      MsgExclamation( Str( n_Contador ) )
      MsgExclamation( TRANS( n_Contador, '999' ) )

      @ lin+17,25 SAY TRANS(n_contador,'999')

      MsgExclamation( "depois do contador" )

Esse é o fonte.
TRANS( n_Contador, '999' )

Isso está sendo usado há anos....

Mas..... agora dá erro.

O que pode causar isso?

Linux ?

Compilador C ?

Flagship mesmo ?

Simplesmente sempre funcionou, e agora, depois de alteração acusa erro.

Os MsgExclamation() foram pra confirmar passo a passo, e encontrar aonde era o problema, porque o Flagship não mostra a linha.

Str( n_Contador ) mostra lá o número que está no contador, normalmente

O TRANS() é que está dando erro.... mas sempre funcionou....

O que resta? Linux com memória sobrecarregada.... compilador C fazendo lixo... Flagship fazendo lixo.... sem explicação.

Sim... já apaguei os temporários em .C e .O.

Memória?... o EXE está 5MB menor que antes....

Sem explicação.....

Ajuda Linux/C/Sei lá

Enviado: 14 Fev 2019 18:24
por JoséQuintas
Pra ficar mais legal:

Código: Selecionar todos

      ? "final do segundo do while"
      Inkey(0)
      ? n_Contador
      Inkey(0)
      ? Str( n_Contador )
      Inkey(0)
      ? "tipo:" + ValType( n_Contador )
      Inkey(0)
      ? "qualquer:" + Transform( 1, "999" )
      Inkey(0)
      ? Transform( n_Contador, '999' )
      Inkey(0)
No aplicativo, acusa erro no Transform( 1, "999" )

E se colocar isso num fonte isolado funciona.

Essa foi de fud. de vez.
Sempre funcionou, o aplicativo usa Transform() mais de 11.000 vezes.
Mas... agora dá erro.

Ajuda Linux/C/Sei lá

Enviado: 14 Fev 2019 19:11
por JoséQuintas
Pois é... o Flagship endoidou....


Isto passou a dar erro

? Transform( 1, "999" )

isto funciona

? Transform( 1.0, "999" )

Ajuda Linux/C/Sei lá

Enviado: 14 Fev 2019 19:20
por JoséQuintas
flagship.png

Pelo menos encontrei o motivo... kkkkk
Foi depois que acrescentei o -c, pra não incluir comentários no fonte C.
Retirei isso e voltou ao normal.

Vai entender.... o "barato é doido".... kkkkk

Lembrei do Harbour convertendo pra linguagem C....
1 é passado como inteiro, e 1.0 é passado como double ou algo parecido....

O que tem a ver isso com comentários... não faço idéia...

Ajuda Linux/C/Sei lá

Enviado: 17 Fev 2019 12:18
por JoséQuintas
Aconteceu de novo....

Desta vez retirei fs_Set( "develop", .T. )

Essa é uma configuração pra ativar o "modo desenvolvedor", pra ajudar o desenvolvedor kkkkkkk

É que demoraram pra trocar versão... então esqueci dos detalhes que tinha modificado.

O que ajuda ao desenvolvedor dar erro aonde não existe.... sei lá... bug dessa versão antiga de Flagship....

Nota:
Solução para os problemas a gente consegue.
O demorado é encontrar a linha aonde aconteceu o problema, sem referência de número de linha.
Mas a gente chega lá, colocando mensagens dentro do fonte, pra até onde funciona e aonde para de funcionar.