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.