Tengo una duda, una curiosidad..., necesidad de saber ...
Os paso un código, muy simple, extraido del los SAMPLES de HMG.
Tal y como está, si lo compilais y ejecutais, entrar en la opción 1 del menu, os llevará a otra ventana con la sentencia ON RELEASE Refres(), y cuando cerreis la ventana, os dara un error.
Ahora bien.., si cambiamos las linea del error y dejamos activo solo el MSGBOX, funciona de maravilla.
La pregunta... ¿alguien sabe el tipo de WINDOW que utiliza la funcion MSGBOX ..., o es un secreto de bill puertas.., o es que yo defino mal este tipo de ventana....?
Muchas gracias a todos y vamos con una cervecita fresquita....,y ya se que la curiosidad mato al gato
Code: Select all
#include "hmg.ch"
Function main()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 200 ;
TITLE 'Menu Test' ;
MAIN
DEFINE MAIN MENU
POPUP 'File'
ITEM 'Open' ACTION VEN2()
ITEM 'Save' ACTION MsgInfo ('File:Save') IMAGE 'Free.Bmp'
ITEM 'Print' ACTION MsgInfo ('File:Print') IMAGE 'Info.Bmp'
ITEM 'Save As...' ACTION MsgInfo ('File:Save As')
ITEM 'HMG Version' ACTION MsgInfo (HMGVersion())
SEPARATOR
ITEM 'Exit' ACTION MsgInfo ('File:Exit') IMAGE 'Exit.Bmp'
END POPUP
POPUP 'Test'
ITEM 'Item 1' ACTION MsgInfo ('Item 1') name xxx
ITEM 'Item 2' ACTION MsgInfo ('Item 2')
POPUP 'Item 3' name test
ITEM 'Item 3.1' ACTION MsgInfo ('Item 3.1')
ITEM 'Item 3.2' ACTION MsgInfo ('Item 3.2')
POPUP 'Item 3.3'
ITEM 'Item 3.3.1' ACTION MsgInfo ('Item 3.3.1')
ITEM 'Item 3.3.2' ACTION MsgInfo ('Item 3.3.2')
POPUP 'Item 3.3.3'
ITEM 'Item 3.3.3.1' ACTION MsgInfo ('Item 3.3.3.1')
ITEM 'Item 3.3.3.2' ACTION MsgInfo ('Item 3.3.3.2')
ITEM 'Item 3.3.3.3' ACTION MsgInfo ('Item 3.3.3.3')
ITEM 'Item 3.3.3.4' ACTION MsgInfo ('Item 3.3.3.4')
ITEM 'Item 3.3.3.5' ACTION MsgInfo ('Item 3.3.3.5')
ITEM 'Item 3.3.3.6' ACTION MsgInfo ('Item 3.3.3.6')
END POPUP
ITEM 'Item 3.3.4' ACTION MsgInfo ('Item 3.3.4')
END POPUP
END POPUP
ITEM 'Item 4' ACTION MsgInfo ('Item 4')
END POPUP
POPUP 'Help'
ITEM 'About' ACTION MsgInfo ('Help:ABout')
END POPUP
END MENU
DEFINE CONTEXT MENU
ITEM 'Item 1' ACTION MsgInfo ('Item 1')
ITEM 'Item 2' ACTION MsgInfo ('Item 2')
SEPARATOR
ITEM 'Item 3' ACTION MsgInfo ('Item 3')
END MENU
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
Function Ven2()
DEFINE WINDOW Form_Main ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
TITLE 'Main Window' ;
MODAL ;
ON RELEASE Refres()
@ 200,250 LABEL Label_1 ;
WIDTH 150 HEIGHT 40 ;
VALUE 'Click Me !' ;
FONT 'Arial' SIZE 24 CENTERALIGN ;
ACTION MsgInfo('Label Clicked!!!')
@ 10,10 LABEL Label_2 ;
AUTOSIZE ;
VALUE '...' ;
ACTION msginfo('test')
END WINDOW
Form_Main.Label_2.Value := 'Hello All, This Is An AutoSIzable Label!!!'
CENTER WINDOW Form_Main
ACTIVATE WINDOW Form_Main
Return
PROCEDURE REFRES()
/*
MSGBOX("SALIMOS","ATENCION")
*/
DEFINE WINDOW Form_SALIR ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
TITLE 'Main Window' ;
MODAL ;
ON RELEASE Refres()
@ 200,250 LABEL Label_1 ;
WIDTH 150 HEIGHT 40 ;
VALUE "SALIMOS DE REGRESO" ;
FONT 'Arial' SIZE 24 CENTERALIGN ;
ACTION MsgInfo('Label Clicked!!!')
@ 10,10 LABEL Label_2 ;
AUTOSIZE ;
VALUE '...' ;
ACTION msginfo('test')
END WINDOW
Form_SALIR.Label_2.Value := 'ESTO ES UNA PRUEBA'
CENTER WINDOW Form_SALIR
ACTIVATE WINDOW Form_SALIR
RETURN