Considerando il file esempio TESTMDI4.PRG nella cartella SAMPLES e che mi funziona perfettamente, ho creato questa procedura:
nel file a.prg ho
static oWnd
.....
DEFINE WINDOW oWnd ;
TITLE "Procedure A" ;
MDI ;
MENU BuildMenu() ;
ICON oIcon
....
ACTIVATE WINDOW oWnd ;
VALID MsgYesNo( "Vuoi Uscire ?","Seleziona un opzione" )
....
function BuildMenu()
local oMenu
MENU oMenu
MENUITEM "&Stampe"
MENU
MENUITEM "Stampa A" ACTION dialog0("1",@oWnd) ;
MESSAGE "Elaborazione"
.....
NEL file b.prg ho invece:
le varie definizioni di variabili tra cui un array chiamato m_get
quindi richiamo dialog1
FUNCTION dialog1(sw, ;
m_get,oWnd ;
)
local BtnOk
local BtnEsc
local oFont
local oWndChild
DEFINE WINDOW oWndChild MDICHILD OF oWnd
oWndChild:bGotFocus = { || m_get[02]:SetFocus() }
DEFINE DIALOG m_get[02] RESOURCE "STASSI" OF oWndChild
REDEFINE GET m_get[03] ID 101 OF m_get[02] ;
PICTURE "@ 99/99/9999"
REDEFINE METER m_get[4] VAR m_get[5] ID 501 TOTAL 1000 OF m_get[02]
REDEFINE BTNBMP BtnOk ID 1 OF m_get[02] RESOURCE "CONFERMA" ;
ACTION (stassiv11(@sw,@m_get))
REDEFINE BTNBMP BtnEsc ID 2 OF m_get[02] RESOURCE "ESCI" ;
ACTION (sw:=0, oWndChild:End())
ACTIVATE DIALOG m_get[2] NOWAIT ;
ON INIT m_get[02]:Move( 0, 0 ) ;
VALID ( oWndChild:End(), .t. ) CENTERED
ACTIVATE WINDOW oWndChild ;
ON INIT oWndChild:SetSize( m_get[02]:nWidth, m_get[02]:nHeight )
Return NIL
Quando lancio l'exe la dialog va in loop
qualcuno può aiutarmi?