Página 1 de 1

Dúvida Harbour/XHarbour na hwgui

Enviado: 08 Nov 2021 20:18
por JoséQuintas

Código: Selecionar todos

FUNCTION hwg_ReleaseAllWindows( hWnd )

   LOCAL iCont, nCont

   //  Vamos mandar destruir as filhas
   // Destroi as CHILD's desta MAIN
#ifdef __XHARBOUR__
   LOCAL oItem
   FOR EACH oItem IN HWindow():aWindows
      IF oItem:oParent != Nil .AND. oItem:oParent:handle == hWnd
         hwg_Sendmessage( oItem:handle, WM_CLOSE, 0, 0 )
      ENDIF
   NEXT
#else
   nCont := Len( HWindow():aWindows )

   FOR iCont := nCont TO 1 STEP - 1

      IF HWindow():aWindows[iCont]:oParent != Nil .AND. ;
            HWindow():aWindows[iCont]:oParent:handle == hWnd
         hwg_Sendmessage( HWindow():aWindows[iCont]:handle, WM_CLOSE, 0, 0 )
      ENDIF

   NEXT
#endif
Alguma idéia porque o do Harbour é diferente?
À primeira vista, "talvez" a diferença seja a ordem, que poderia ser resolvida usando DESCEND, apesar que não faz sentido precisar ser ordem diferente.
Nota: também estranhei a observação em português.

Dúvida Harbour/XHarbour na hwgui

Enviado: 09 Nov 2021 09:06
por Itamar M. Lins Jr.
Olá!
Isso é bem velho.
Da época que o Harbour não tinha FOR EACH.
Pode tirar todas se desejar. (tá cheio desse código na Hwgui)
Repare que no Harbour ele usa FOR iCont ...

Por isso tinha esse conversa velha que Hwgui estava OTIMIZADA para o xHarbour... Por conta desse FOR EACH

Saudações,
Itamar M. Lins Jr.

Dúvida Harbour/XHarbour na hwgui

Enviado: 09 Nov 2021 15:51
por JoséQuintas
Pelo changelog do Harbour.... complicou
Pode depender de versão.