Como seria feita a mesma coisa sem usar multihread?
Quais as alterações necessárias nos fontes?
Nota: Compilei usando HMG Extended modificada

Moderador: Moderadores
JoséQuintas Nota: Compilei usando HMG Extended modificada
JoséQuintas escreveu:Como seria feita a mesma coisa sem usar multihread?
Quais as alterações necessárias nos fontes?
Nota: Compilei usando HMG Extended modificada
Public nCont := 0
for i := 1 to 5
HmgMain(i)
next
ACTIVATE WINDOW ALL
PROCEDURE HMGMain ( i )
local name := "MD_Form_"+hb_ntos(i)
SET NAVIGATION EXTENDED
SEt WINDOW MAIN OFF
SET DELETED ON
//OpenPhoneDB()
DEFINE WINDOW &name ;
AT 10, 10 ;
WIDTH 800 ;
HEIGHT 600 ;
TITLE "Phone book" ;
ICON "phone" ;
ON INIT ( opendbf(), RefreshWinPhone( _sort , name ) ) ;
ON RELEASE closedbf()
...
END WINDOW
CENTER WINDOW &name
// ACTIVATE WINDOW MD_Form_1
RETURN
function opendbf
nCont++
if nCont == 1
OpenPhoneDB()
endif
return
function closedbf
nCont--
if nCont == 0
CLOSE DATABASES
endif
return
PROCEDURE RefreshWinPhone ( _x1, name ) // ademas se agrega como parametro el nombre de la ventana
...
// MD_Form_1.MD_Grid_1.DeleteAllItems()
DoMethod( name, "MD_Grid_1", "DeleteAllItems" )
...
...
@ 0, 0 BUTTON minwin CAPTION "min all" ACTION minall() // colocar esto dentro del Define Windows en la función HMGMain
...
function minall
for k := 1 to len ( _HMG_SYSDATA [ 67 ] )
minimize( _HMG_SYSDATA [ 67 ] [k] )
next
return
Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes