Quando penso que o Flagship vai bem....

Aqui é o lugar para bater papo e trocar idéias sobre os mais variados assuntos

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Quando penso que o Flagship vai bem....

Mensagem por JoséQuintas »

Importante: é a versão velha de Flagship que estou usando, não a versão atual
tela1.png
Como dá pra ver no fonte:
- entra no programa mostra "Programa certo mostra este aviso".
- dentro do DO WHILE, se teclar F2 mostra "apertou F2"
tela2.png
Mas no Linux, compilado/linqueditado com Flagship....

F2 mostra a mesma mensagem de quando entra no módulo
Parece que o Flagship perdeu a informação de referência ao fonte, e aciona fonte errado.
Até procurei se a função STATIC existe em outro módulo (seria uma possibilidade) mas não existe.

Já apaguei todos os .o (obj), todos os .c, e até todos os .prg

Muito doido isso.
No momento nem sei o que fazer, talvez apagar alguns dos fontes pra ver se faz alguma diferença.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Quando penso que o Flagship vai bem....

Mensagem por asimoes »

Isso me lembra format c: resolver qualquer zueira
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Quando penso que o Flagship vai bem....

Mensagem por JoséQuintas »

A coisa é pior do que mostrei....
Pra conseguir alguma coisa, acrescentei aqueles DO CASE, CASE .F., ENDCASE.
Ou seja, fonte que não faz nada.

Código: Selecionar todos

   mVendedor := Space(2)
   MsgExclamation( "Aviso antes do DO WHILE" )

   DO WHILE .T.
      Mensagem( "<F2>Pedidos  <F3>Pend  <F4>Destino  <F5>Consulta  <TAB>Plano Pgto" + ;
         "  <F6>Estoque  <F7>Pedido  <F8>Localizar  <F10>BDI  <K>KIT  <F11> Sair" )

      IF BrowseNavigate( oMyBrowse, @nKey )
         DO CASE
         CASE .F.
         CASE .F.
         CASE .F.
         ENDCASE
         LOOP
      ENDIF
      MsgExclamation( "Tecla " + Ltrim(Str(nKey)) )

      DO CASE
      CASE .F.
      CASE .F.
      CASE .F.
      ENDCASE

      DO CASE

      CASE nKey == K_F2
         MsgExclamation( "Apertou F2" )
         F2_Pedidos()
         oMyBrowse:RefreshAll()

      CASE nKey == K_F3
         F3_Compra()
         oMyBrowse:RefreshAll()

      CASE nKey == K_F4
         F4_Destino( @pDestino, @aItemList )
         oMyBrowse:RefreshAll()

      CASE nKey == K_F5
         F5_Consulta( @aItemList, oMyBrowse, pDestino, @c_Espec, @mVendedor )
         oMyBrowse:RefreshAll()

      CASE nKey == K_F6
         F6_Estoque()
         oMyBrowse:RefreshAll()

      CASE nKey == K_F7
         F7_Pedido( @aItemList, @c_Espec )
         oMyBrowse:refreshAll()

      CASE nKey == K_F8
         f8_Pesquisa()
         oMyBrowse:refreshAll()

      CASE nKey == K_F10
         F10_Bdi()

      CASE Chr( nKey ) $ "kK"
         K_Kits( aItemList, oMyBrowse, mVendedor )
         oMyBrowse:refreshAll()

      CASE nKey == K_TAB
         TBPR->( dbSkip(-1) )
         IF TBPR->( Bof() )
            TBPR->( dbGoBottom() )
         ENDIF
         oMyBrowse:refreshAll()

      CASE nKey == K_F11 .OR. nKey == K_ESC
         n_rec := PRO1->( RecNo() )
         PRO1->( dbSetOrder(1) )
         FOR n_i := 1 TO Len( aItemList )
            PRO1->( dbSeek( aItemList[ n_i, 1 ] ) )
            PRO1->( RecLock() )
            REPLACE pro1->qde_Pe WITH Max( 0, PRO1->qde_pe - aItemList[ n_i, 9 ] )
            PRO1->( RecUnlock() )
            IF Val( Substr( aItemList[ n_i, 1 ] , 1 , 1 ) ) > 7
               KITPRO->( dbSeek( Substr( aItemList[ n_i, 1 ], 3, 3 ) ) )
               KITEM->( dbSeek( KITPRO->cod_KIt ) )
               DO WHILE ! KITEM->( Eof() ) .AND.  KITEM->cod_KIt == KITPRO->cod_Kit
                  PRO1->( dbSeek( KITEM->cod_pro ) )
                  PRO1->( RecLock() )
                  REPLACE pro1->qde_Pe WITH Max( 0, PRO1->qde_pe - aItemList[ n_i, 9 ] )
                  PRO1->( RecUnlock() )
                  KITEM->( dbSkip() )
               ENDDO
            ENDIF
         NEXT
         PRO1->( dbSetOrder( 1 ) )
         PRO1->( dbGoto( n_rec ) )
         SetCursor(1)
         SetColor( cSays )
         EXIT
      OTHERWISE
         MsgExclamation( "Nenhum CASE" )
      ENDCASE
      MsgExclamation( "Saiu do DO CASE" )
   ENDDO

   CLOSE DATABASES

   RETURN

FUNCTION F2_Pedidos()

Num resumo:
- mostra a mensagem "antes do do while"

dentro do do while:
- mostra a tecla pressionada
- aciona algo conforme a tecla, sendo que F2 mostra "teclou F2", e nas outras faz outras coisas
- caso não tenha nada pra tecla, aparece "nenhum CASE"
- depois de qualquer tecla, e analisar os CASES, mostra "saiu do case"
- e finalmente ESC sai fora

O que está acontecendo:

- tecla de espaço: ok, mostra o ascii 32, mostra "nenhum case", "saiu do case"
- tecla ESC: ok, mostra o ascii 27, sai fora
- tecla F6: ok, entra no case nKey == K_F6

- teclas F2 a F5: mostra o ascii 27, e sai fora

Isso foi depois dos CASE .F., agora trocou F2 a F5 por retornar código ascii inválido.

sem os CASE .F., aparecia "aviso antes do do while", como se o fonte estivesse chamando ele mesmo ao teclar de F2 a F5.

Pergunta:
Alguém aí experiente, que possa saber o que essas teclas poderiam fazer, ou no Linux, ou no putty?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Quando penso que o Flagship vai bem....

Mensagem por JoséQuintas »

Depois do post veio a luz.....
Não tem a ver com flagship.
Provavelmente na atualização do putty, ou reinstalação do Windows 10, a configuração default voltou.
terminal.png
O que tem a ver?
Só olhar:
Teclas de função como ESC + outros caracteres

O que parecia ser executar o mesmo módulo ao teclar F2.....
é que era algo como ESC ENTER, mas que pela tela não deu pra perceber, porque nem piscava.

Mas... porque F6 funcionava?
Sei lá... parece que não vale pra tudo que é Fn
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder