Página 1 de 1

warning W0027 Meaningless use of expression 'Logical'

Enviado: 28 Jan 2026 11:17
por JoséQuintas
ze_fwtextmsg.prg:93: warning W0027 Meaningless use of expression 'Logical'
Não entendi o porque desse erro.
Que eu me lembre, é quando a expressão não é lógica.
Acrescentei o teste de threadID.

Código: Selecionar todos

   ::oDlg:bValid := { || ;
      iif( GetKeyState( VK_ESCAPE ), ::lHitEsc := .T., Nil ), ;
      iif( GetKeyState( VK_ESCAPE ), ::ShowText( "ESC pressionado" ), Nil ), ;
      iif( ! Empty( ::nThreadID ) .AND. hb_ThreadWait( ::nThreadId, 0.1, .T. ) == 1, .T., Nil ), ;
      ::lCanClose }

Re: warning W0027 Meaningless use of expression 'Logical'

Enviado: 28 Jan 2026 11:24
por JoséQuintas
Erro meu.
O .T. tentaria ser executado como se fosse um comando.
O retorno é o último, ::lCanClose

Código: Selecionar todos

   ::oDlg:bValid := { || ;
      iif( GetKeyState( VK_ESCAPE ), ::lHitEsc := .T., Nil ), ;
      iif( GetKeyState( VK_ESCAPE ), ::ShowText( "ESC pressionado" ), Nil ), ;
      iif( ! Empty( ::nThreadID ) .AND. hb_ThreadWait( ::nThreadId, 0.1, .T. ) == 1, ::lCanClose := .T., Nil ), ;
      ::lCanClose }