FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour nowait
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
nowait
Posted: Fri Mar 10, 2023 10:56 AM



I open dbf with tdatabase why make error ?


is it possible to use a dialog in source (and not in resource) using the NOWAIT clause?

Meaning what

DEFINE DIALOG oDlg SIZE nWd, nHt PIXEL TRUEPIXEL;
FONT oFont COLOR CLR_BLACK, DLG_nColorDlg

ACTIVATE DIALOG oDlg NOWAIT



RETURN (NIL)
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: nowait
Posted: Fri Mar 10, 2023 03:24 PM

Hello, you must show how you are doing the OPENING of the Database, because the ERRSYSW.prg is saying that the OPEN AREA IS NOT IN USE.

Hola, debes mostrar como estas haciendo la APERTURA de la Base de Datos, porque el ERRSYSW.prg esta diciendo que el AREA ABIERTA NO ESTÁ EN USO.

And why does this DIALOGUE need to be NOWAIT?

¿Y por qué este DIÁLOGO necesita ser NOWAIT?

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: nowait
Posted: Fri Mar 10, 2023 09:36 PM
Se que no es lo que necesitas porque usas tdatabase, pero tal vez te de un hilo para seguir.
Code (fw): Select all Collapse
#include "FiveWin.ch"
static oWnd
static lEnd := .f., nArea
//----------------------------------------------------------------------------//
function Main()
nArea := 0
   DEFINE WINDOW oWnd TITLE "Dialogo NoWait"

   @ 2,  2 BUTTON "&Start" SIZE 80, 20 ACTION StartTest() 
   @ 2, 20 BUTTON "&Info" SIZE 80, 20 ACTION MsgInfo(select())
   @ 2, 40 BUTTON "&Close Area" SIZE 80, 20 ACTION dbclosearea(select()) // Esto es para que de error al querer volver a ese dialogo nowait
   ACTIVATE WINDOW oWnd MAXIMIZED
return nil

//----------------------------------------------------------------------------//

function StartTest()
   local oDlg
   local oBrw   , n
   nArea ++
   n := nArea
   USE Customer ALIAS "customer"+ALLTRIM(STR(nArea)) SHARED NEW
   INDEX ON Field->State TO State
   SET ORDER TO "State"
      DEFINE DIALOG oDlg TITLE "No Wait Customer"+ALLTRIM(STR(nArea)) FROM 10, 10 TO 23, 70 RESIZABLE
      @ 01,01 XBROWSE oBrw OF oDlg ;
        LINES STYLE FLAT NOBORDER ;
        COLUMNS "State","City", "Last", "First" ;
        HEADERS "State","City", "Last", "First" PIXEL SIZE 200,70
      oBrw:nMarqueeStyle = MARQSTYLE_HIGHLROW
      oBrw:CreateFromCode()  
      oBrw:bGotFocus := {|| dbselectarea(oBrw:cAlias)}
      ACTIVATE DIALOG oDlg NOWAIT VALID(Cerrar(n))
      SysRefresh()
return nil

STATIC FUNCTION Cerrar(n)
dbclosearea( "customer"+ALLTRIM(STR(nArea)))
RETURN .t. 
//----------------------------------------------------------------------------//
Los xbrowse con dialogos nowait funcionan bien, pero si cerramos un area de un dialogo que esta activo, ahi obtenemos el error.
Intuyo que por ese lado viene el problema
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: nowait
Posted: Mon Mar 13, 2023 02:32 AM
Silvio.Falconi wrote:


I open dbf with tdatabase why make error ?


is it possible to use a dialog in source (and not in resource) using the NOWAIT clause?

Meaning what

DEFINE DIALOG oDlg SIZE nWd, nHt PIXEL TRUEPIXEL;
FONT oFont COLOR CLR_BLACK, DLG_nColorDlg

ACTIVATE DIALOG oDlg NOWAIT



RETURN (NIL)

Yes.
But close the oDbf in the valid clause but not after activate command.

This works for modal dialigs ( not nowait):
Code (fw): Select all Collapse
   ACTIVATE DIALOG oDlg 
   oDbf:Close()
return nil
But this does not work for non-midal ( NOWAIT) dialogs.
Results in the same error as above.

WRONG
Code (fw): Select all Collapse
   ACTIVATE DIALOG oDlg NOWAIT
   oDbf:Close()
return nil
CORRECT WAY
Code (fw): Select all Collapse
   ACTIVATE DIALOG oDlg NOWAIT ;
      VALID ( oDbf:Close(), .T. ) 
return nil
Regards



G. N. Rao.

Hyderabad, India
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Re: nowait
Posted: Mon Mar 13, 2023 07:49 AM

thanks I resolved with Cesar

Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Re: nowait
Posted: Mon Mar 13, 2023 08:20 AM
nageswaragunupudi wrote:




WRONG
Code (fw): Select all Collapse
   ACTIVATE DIALOG oDlg NOWAIT
   oDbf:Close()
return nil
CORRECT WAY
Code (fw): Select all Collapse
   ACTIVATE DIALOG oDlg NOWAIT ;
      VALID ( oDbf:Close(), .T. ) 
return nil
WELCOME BACK AMONG US
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: nowait
Posted: Mon Mar 13, 2023 11:13 AM
So glad to see you here with us Dear Rao :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Re: nowait
Posted: Mon Mar 13, 2023 11:15 AM
nageswaragunupudi wrote:




CORRECT WAY
Code (fw): Select all Collapse
   ACTIVATE DIALOG oDlg NOWAIT ;
      VALID ( oDbf:Close(), .T. ) 
return nil

Nages,
I made as you wrote me
Code (fw): Select all Collapse
  
ACTIVATE DIALOG oDlg NOWAIT ;
      VALID ( oDbf:Close(), .T. )
but sometimes have the same error when there is only one dialog opened
it not happened with more dialog opened with same or more dbf

it happen because on xbrowse I have a small menupopup





Code (fw): Select all Collapse
 
  oBrw:bRClicked := {|nRow,nCol| MenuContextual(nRow,nCol,oDlg,oBrw,oArticoli) }
and the function MenuContextual
Code (fw): Select all Collapse
Function MenuContextual(nRow,nCol,oDlg,oBrw,oDbf )
   local oMenu

           MENU oMenu POPUP 2015

       
           MENUITEM "al primo record  " +space(6)+ CHR(VK_TAB) + "Ctrl+Home";
              MESSAGE "Mostra la lista dal primo record";
              RESOURCE "GRID_TOP";
              ACTION oBrw:KeyDown(VK_HOME, 0)  WHEN oDbf:OrdKeyCount() > 0

            MENUITEM "a pagina prec.  " +space(6)+ CHR(VK_TAB) + "Pag. Sù";
              MESSAGE "Mostra la lista della pagina precedente";
                RESOURCE "GRID_PREVIOUS";
              ACTION oBrw:KeyDown(VK_PRIOR, 0) WHEN oDbf:OrdKeyCount() > 0

            MENUITEM "al precedente record  " +space(6)+ CHR(VK_TAB) + "Indietro";
              MESSAGE "Mostra la lista muovendosi  al record precedente ";
                RESOURCE "GRID_UP";
              ACTION oBrw:KeyDown(VK_UP, 0)   WHEN oDbf:OrdKeyCount() > 0

            MENUITEM "avanti di un record  " + CHR(VK_TAB) +space(6)+ "Avanti";
              MESSAGE "Mostra la lista muovendosi al record avanti";
                RESOURCE "GRID_DOWN";
              ACTION oBrw:KeyDown(VK_DOWN, 0)  WHEN oDbf:OrdKeyCount() > 0

            MENUITEM "a pag. avanti  " +space(6)+ CHR(VK_TAB) + "Pag. Giù";
              MESSAGE "Mostra la lista della pagina avanti";
               RESOURCE "GRID_NEXT";
              ACTION oBrw:KeyDown(VK_NEXT, 0)  WHEN oDbf:OrdKeyCount() > 0

            MENUITEM "all'ultimo record  " +space(6)+ CHR(VK_TAB) + "Ctrl+End";
              MESSAGE "Mostra la lista all'ultimo record";
                RESOURCE "GRID_BOTTOM";
              ACTION oBrw:KeyDown(VK_END, 0)  WHEN oDbf:OrdKeyCount() > 0
         ENDMENU
   ACTIVATE POPUP oMenu OF oDlg AT  oBrw:nTop+nRow, oBrw:nLeft+nCol
     return oMenu
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: nowait
Posted: Mon Mar 13, 2023 11:22 AM
Antonio Linares wrote:So glad to see you here with us Dear Rao :-)
I'm happy for Rao recovery too!
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: nowait
Posted: Tue Mar 14, 2023 07:27 AM

Thank you

Regards



G. N. Rao.

Hyderabad, India

Continue the discussion