FWH2008 ERRO xBrowse (SQLRDD)

FWH2008 ERRO xBrowse (SQLRDD)

Postby Sistem » Wed Nov 18, 2020 9:26 am

using the SELECT (with SQLRDD)
the following error occurred:
Code: Select all  Expand view
Descrição do Erro:
Error DBCMD/2001  Workarea nÆo est  em uso: ORDDESCEND
   chamado por ORDDESCEND(0)
   chamado por TXBROWSE:SQLRDD_SAVESTATE(5839)
   chamado por TXBROWSE:DRAWLINE(3141)
   chamado por TXBROWSE:PAINT(2477)
   chamado por TXBROWSE:DISPLAY(2104)
   chamado por TCONTROL:HANDLEEVENT(1793)
   chamado por TXBROWSE:HANDLEEVENT(11776)
   chamado por _FWH(3559)
   chamado por DIALOGBOXINDIRECT(0)
   chamado por TDIALOG:ACTIVATE(304)
   chamado por FEPRCT01(6796)
   chamado por (b)BUILDPOPROPR(5694)
   chamado por TMENU:ACTIVATE(1599)
   chamado por TTOOLBAR:NOTIFY(284)
   chamado por TDIALOG:NOTIFY(1595)
   chamado por TWINDOW:HANDLEEVENT(0)
   chamado por TDIALOG:HANDLEEVENT(1140)
   chamado por DIALOGBOXINDIRECT(0)
   chamado por TDIALOG:ACTIVATE(304)
   chamado por ROMA01(5523)
   chamado por (b)PEDI01(242)
   chamado por TTOOLBAR:COMMAND(239)
   chamado por TMDICHILD:COMMAND(1144)
   chamado por TWINDOW:HANDLEEVENT(0)
   chamado por TMDICHILD:HANDLEEVENT(343)
   chamado por _FWH(3559)
   chamado por WINRUN(0)
   chamado por TMDIFRAME:ACTIVATE(1097)
   chamado por MAIN(370)
 

Code Sample:
Code: Select all  Expand view

   cSelect := "SELECT cod_rece, pre_rece, val_rece, ped_rece from rece where ped_rece = " + Sr_cdbvalue( Roma->Cod_Roma ) + " and substring(cod_rece,7,1) != " + Sr_cdbvalue( "B" )
   Sr_setactiveconnection ( nConn0 )
   If !Sr_existtable( "rece" )
      Sr_setactiveconnection ( nConn1 )
   Endif
   Dbusearea( .T. , "SQLRDD", cSelect, "ReceNew" )
   ReceNew->( Dbgotop() )
   Do While !ReceNew->( Eof() )
      If ReceNew->Pre_Rece < ReceNew->Val_Rece
         lEnt := .T.
      Endif
      ReceNew->(Dbskip())
   Enddo
   ReceNew->( Dbclosearea() )      <<<<==== ERRO HERE
 


Image
Image
FWH2008 | xHarbour | BCC74 | SQLRDD
User avatar
Sistem
 
Posts: 226
Joined: Sun May 13, 2012 7:52 am

Re: FWH2008 ERRO xBrowse (SQLRDD)

Postby karinha » Wed Nov 18, 2020 12:36 pm

Intente asi. Tente assim.

Code: Select all  Expand view

EXTERNAL DESCEND

FUNCTION...

   cSelect := "SELECT cod_rece, pre_rece, val_rece, ped_rece from rece where ped_rece = " + Sr_cdbvalue( Roma->Cod_Roma ) + " and substring(cod_rece,7,1) != " + Sr_cdbvalue( "B" )

   Sr_setactiveconnection ( nConn0 )

   If .NOT. Sr_existtable( "rece" )

      Sr_setactiveconnection ( nConn1 )

   Endif

   Dbusearea( .T. , "SQLRDD", cSelect, "ReceNew" )

   // SET ORDER TO... // ??? NAO PRECISA?

   GO TOP

   // ReceNew->( Dbgotop() )

   WHILE( .NOT. EOF() ) // .OR. ( ReceNew )->( Eof() )

      SYSREFRESH()

      If ( ReceNew )->Pre_Rece < ( ReceNew )->Val_Rece

         lEnt := .T.

      Endif

      SKIP // .OR.

      // ( ReceNew )->( Dbskip() )

   Enddo

   CLOSE( ReceNew ) // PORQUE DEU UM CLOSE AQUI?

   // ( ReceNew )->( Dbclosearea() )      <<<<==== ERRO HERE
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: FWH2008 ERRO xBrowse (SQLRDD)

Postby Sistem » Wed Nov 18, 2020 1:34 pm

não deu certo
eh algo no xbrowse ... essa area RECENEW nem faz paste do xbrowse.... estranho
karinha wrote:Intente asi. Tente assim.

[code=fw]
EXTERNAL DESCEND
Saludos.
FWH2008 | xHarbour | BCC74 | SQLRDD
User avatar
Sistem
 
Posts: 226
Joined: Sun May 13, 2012 7:52 am

Re: FWH2008 ERRO xBrowse (SQLRDD)

Postby karinha » Wed Nov 18, 2020 2:33 pm

Mostre a parte do xBrowse, em que você dispara para a função... comente as linhas e vá religando, até descobrir onde quebra.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: FWH2008 ERRO xBrowse (SQLRDD)

Postby Sistem » Wed Nov 18, 2020 2:56 pm

karinha wrote:Mostre a parte do xBrowse, em que você dispara para a função... comente as linhas e vá religando, até descobrir onde quebra.


o erro eh:
( ReceNew )->( Dbclosearea() ) <<<<==== ERRO HERE

eh assim: posiciono o cursor no linha que quero, chamo a funcao que abre uma tabela e depois fecho a tabela, ao fechar da o erro
se eu comento a linha ( ReceNew )->( Dbclosearea() ) o erro nao acontece.... o problema eu que se o usuário abrir a função novamente o programa fecha sem msg.
eu resovi assim:
Code: Select all  Expand view
  cSelect := "SELECT cod_rece, pre_rece, val_rece, ped_rece from rece where ped_rece = " + Sr_cdbvalue( Roma->Cod_Roma ) + " and substring(cod_rece,7,1) != " + Sr_cdbvalue( "B" )

   If !Empty(Select("ReceNew"))
      ReceNew->( Dbclosearea() )
   Endif
   Sr_setactiveconnection ( nConn0 )
   If !Sr_existtable( "rece" )
      Sr_setactiveconnection ( nConn1 )
   Endif
   Dbusearea( .T. , "SQLRDD", cSelect, "ReceNew" )
   ReceNew->( Dbgotop() )
   Do While !ReceNew->( Eof() )
      If ReceNew->Pre_Rece < ReceNew->Val_Rece
         lEnt := .T.
      Endif
      ReceNew->(Dbskip())
   Enddo
//   ReceNew->( Dbclosearea() )
 

coloquei o Dbclosearea no inicio e comentei o do final
mais pq acontece isso?
desde da ver 2006 estou com esse problema
FWH2008 | xHarbour | BCC74 | SQLRDD
User avatar
Sistem
 
Posts: 226
Joined: Sun May 13, 2012 7:52 am

Re: FWH2008 ERRO xBrowse (SQLRDD)

Postby Sistem » Wed Nov 18, 2020 3:00 pm

Sistem wrote:
karinha wrote:Mostre a parte do xBrowse, em que você dispara para a função... comente as linhas e vá religando, até descobrir onde quebra.


o erro eh:
( ReceNew )->( Dbclosearea() ) <<<<==== ERRO HERE

eh assim: posiciono o cursor no linha que quero, chamo a funcao que abre uma tabela e depois fecho a tabela, ao fechar da o erro
se eu comento a linha ( ReceNew )->( Dbclosearea() ) o erro nao acontece.... o problema eu que se o usuário abrir a função novamente o programa fecha sem msg.
resolvido assim:
Code: Select all  Expand view
  cSelect := "SELECT cod_rece, pre_rece, val_rece, ped_rece from rece where ped_rece = " + Sr_cdbvalue( Roma->Cod_Roma ) + " and substring(cod_rece,7,1) != " + Sr_cdbvalue( "B" )

   If !Empty(Select("ReceNew"))
      ReceNew->( Dbclosearea() )
   Endif
   Sr_setactiveconnection ( nConn0 )
   If !Sr_existtable( "rece" )
      Sr_setactiveconnection ( nConn1 )
   Endif
   Dbusearea( .T. , "SQLRDD", cSelect, "ReceNew" )
   ReceNew->( Dbgotop() )
   Do While !ReceNew->( Eof() )
      If ReceNew->Pre_Rece < ReceNew->Val_Rece
         lEnt := .T.
      Endif
      ReceNew->(Dbskip())
   Enddo
//   ReceNew->( Dbclosearea() )
 

coloquei o Dbclosearea no inicio e comentei o do final
mais pq acontece isso?
desde da ver 2006 estou com esse problema
FWH2008 | xHarbour | BCC74 | SQLRDD
User avatar
Sistem
 
Posts: 226
Joined: Sun May 13, 2012 7:52 am

Re: FWH2008 ERRO xBrowse (SQLRDD)

Postby karinha » Wed Nov 18, 2020 3:30 pm

Se você tem uma função de ABERTURA dos BANCOS DE DADOS, faça o PROCESSAMENTO, feche tudo e ABRA TUDO de novo.

Eu por exemplo, tenho: ABERTURA.PRG -> Abre todos os BANCOS ao entrar no programa.

Se em algum lugar, eu precisar fazer algo e fechar os bancos, faço, e: DBCLOSEALL() - E: ABRE_BANCOS()

Simples assim.

Não entendi, porque você está fechando banco durante o PROCESSAMENTO, lógica de Português? jajajajajajajajaja -> kkkkkkkkkkkkkkkkk.

Abs.

Saludos, saudações.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: FWH2008 ERRO xBrowse (SQLRDD)

Postby Sistem » Wed Nov 18, 2020 9:05 pm

pois eh ... quando um SELECT (consultas) preciso fechar a tabela.... um simples Dbclosearea gera um erro... essa eh a questao
FWH2008 | xHarbour | BCC74 | SQLRDD
User avatar
Sistem
 
Posts: 226
Joined: Sun May 13, 2012 7:52 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 86 guests