Problem with MODAL window

Moderator: Rathinagiri

Post Reply
User avatar
dragancesu
Posts: 926
Joined: Mon Jun 24, 2013 11:53 am
DBs Used: DBF, MySQL, Oracle
Location: Subotica, Serbia

Problem with MODAL window

Post by dragancesu »

Code: Select all

FUNCTION lov_kal_cen()

PRIVATE _RetVal

   if IsWindowActive( Lov_Form_kc )
       DoMethod( 'Lov_Form_kc', "RELEASE" )
   endif

   DEFINE WINDOW Lov_Form_kc ; 
      AT 0,0 ; 
      WIDTH 500 ; 
      HEIGHT 300 ; 
      TITLE "Kalkulacije i cene " ; 
      MODAL

   @ 20, 20 BROWSE Lov_grid_kc ;
      WIDTH 450 ;
      HEIGHT 250 ;
      FONT "Arial" ; 
      SIZE 10 ;
      HEADERS { "Kalkulacija","Kolicina","Prod.cena","Nab.cena" } ;
      WIDTHS { 100,100,100,100 } ;
      WORKAREA KAL_CEN ;
      FIELDS { "KALK","KOL","CENA1","CENA2" } ;
      ON DBLCLICK sel_row_kc() ; 
      JUSTIFY { 1, 1, 1, 1 }  
		 
   END WINDOW 

   Lov_Form_kc.Lov_Grid_kc.SetFocus 

   CENTER WINDOW Lov_Form_kc

   ACTIVATE WINDOW Lov_Form_kc

RETURN _Retval 
*----------------------------------------------------------
FUNCTION sel_row_kc()

   _Retval := Lov_Form_kc.Lov_Grid_kc.Value
   Lov_Form_kc.Release

RETURN val(_RetVal) 
This should be a simple function that starts up when you need to choose something from the offered value (BROWSE and GRID) or not

message is

HMG 3.4.1 / HMG 3.4.3 Stable (32 bits)

Not debug mode
Window: Lov_Form_kc already defined. Program Terminated

in debug mode
Non top modal windows can't be released. Program Terminated

Question: how open and close modal window, and used later again?
KDJ
Posts: 243
Joined: Mon Sep 05, 2016 3:04 am
Location: Poland

Re: Problem with MODAL window

Post by KDJ »

dragancesu

Try this code:

Code: Select all

FUNCTION lov_kal_cen()

LOCAL lMainWndFirst := HMG_ActivateMainWindowFirst(.F.)
PRIVATE _RetVal

   if IsWindowActive( Lov_Form_kc )
       DoMethod( 'Lov_Form_kc', "RELEASE" )
   endif

   DEFINE WINDOW Lov_Form_kc ;
      AT 0,0 ;
      WIDTH 500 ;
      HEIGHT 300 ;
      TITLE "Kalkulacije i cene " ;
      MODAL

//   @ 20, 20 BROWSE Lov_grid_kc ;
//      WIDTH 450 ;
//      HEIGHT 250 ;
//      FONT "Arial" ;
//      SIZE 10 ;
//      HEADERS { "Kalkulacija","Kolicina","Prod.cena","Nab.cena" } ;
//      WIDTHS { 100,100,100,100 } ;
//      WORKAREA KAL_CEN ;
//      FIELDS { "KALK","KOL","CENA1","CENA2" } ;
//      ON DBLCLICK sel_row_kc() ;
//      JUSTIFY { 1, 1, 1, 1 } 
      
   END WINDOW

//   Lov_Form_kc.Lov_Grid_kc.SetFocus

   CENTER WINDOW Lov_Form_kc

   ACTIVATE WINDOW Lov_Form_kc

   HMG_ActivateMainWindowFirst(lMainWndFirst)

RETURN _Retval
*----------------------------------------------------------
FUNCTION sel_row_kc()

   _Retval := Lov_Form_kc.Lov_Grid_kc.Value
   Lov_Form_kc.Release

RETURN val(_RetVal)
User avatar
dragancesu
Posts: 926
Joined: Mon Jun 24, 2013 11:53 am
DBs Used: DBF, MySQL, Oracle
Location: Subotica, Serbia

Re: Problem with MODAL window

Post by dragancesu »

Thank you but it's not solution, program crash
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: Problem with MODAL window

Post by andyglezl »

Hola dragancesu

Según lo veo, no puedes dar un RELEASE a la ventana porque estas todavía dentro de la
función que ejecuta el Grid "ON DBLCLICK sel_row_kc()"
------------------------------------------------------------------------------------------------------------
Hello dragancesu

As I see it, you can not give one release to the window because these still within the
function that runs the Grid "ON DBLCLICK sel_row_kc ()"


FUNCTION sel_row_kc()

_Retval := Lov_Form_kc.Lov_Grid_kc.Value
Lov_Form_kc.Release <==================

RETURN val(_RetVal)


Maybe...
@ 20, 20 BROWSE Lov_grid_kc ;
.......
ON DBLCLICK ( sel_row_kc(), Lov_Form_kc.Release ) ; <=====================
Andrés González López
Desde Guadalajara, Jalisco. México.
Post Reply