FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SQLWIN - RDD libre para SQL
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SQLWIN - RDD libre para SQL
Posted: Tue Oct 07, 2008 07:45 PM
Olá pessoal,

Estou testando o sqlwin para postgres e já tenho várias funções funcionando. Agora estou tentando fazer "UR_RECINFO" funcionar, mas quando acrescento as linhas abaixo, me é retornado um erro de GPF.

function SQLWIN_GETFUNCTABLE( pFuncCount, pFuncTable, pSuperTable, nRddID )

...
   aSQLFunc[ UR_RECINFO ]      := ( @SQL_RECINFO() )
...

STATIC FUNCTION SQL_RECINFO( nWA, nRecord, nInfoType, uInfo )

   LOCAL nResult := SUCCESS
   local aWAData := USRRDD_AREADATA( nWA )
   local cRddSep := SQLGetCurrentSep( aWAData[ WA_SYSTEMID ] )
   local nSysID  := aWAData[ WA_SYSTEMID ]

MSGSTOP( "NÃO CHEGA AQUI" )

   DO CASE
   CASE nInfoType == UR_DBRI_DELETED
        uInfo     := .F.
   CASE nInfoType == UR_DBRI_LOCKED
        uInfo     := .T.
   CASE nInfoType == UR_DBRI_RECSIZE
   CASE nInfoType == UR_DBRI_RECNO
        nResult   := SQL_RECID( nWA, @nRecord )
   CASE nInfoType == UR_DBRI_UPDATED
        uInfo     := .F.
   CASE nInfoType == UR_DBRI_ENCRYPTED
        uInfo     := .F.
   CASE nInfoType == UR_DBRI_RAWRECORD
        uInfo     := ""
   CASE nInfoType == UR_DBRI_RAWMEMOS
        uInfo     := ""
   CASE nInfoType == UR_DBRI_RAWDATA
        nResult   := SQL_GOTOID( nWA, nRecord )
        uInfo     := ""
   ENDCASE

RETURN nResult


Funções que já estão funcionando:

dbgotop()
dbgobottom()
skip()
use()
goto()
dbappend()
alias()
eof()
bof()
recno()
reccount()
__dbzap()
__dbpack()
fieldget()
fieldput()
fieldname()
fieldsize()
dbcommit()


Alguém poderia me ajudar ?

Antonio: Se quiser lhe envio o sqlwin com minhas mudanças ok ? :-)

Obrigado,
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SQLWIN - RDD libre para SQL
Posted: Tue Oct 07, 2008 08:33 PM

Rossine,

> Se quiser lhe envio o sqlwin com minhas mudanças ok ?

Por que no las subes directamente al wiki ?

http://wiki.fivetechsoft.com/doku.php?i ... evelopment

Asi podemos ver los cambios más facilmente y estan disponibles para todos :-)

Tienes que haber recibido un email con tu login y password para el wiki para que puedas actualizar el código de SQLWIN en el wiki, gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SQLWIN - RDD libre para SQL
Posted: Tue Oct 07, 2008 09:14 PM

OK Maestro. Irei organizar o código com minhas mudanças e o sample e postarei.

Gracias,

Rossine.

Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SQLWIN - RDD libre para SQL
Posted: Wed Oct 08, 2008 03:23 PM

Olá Antonio,

Meu primeiro post em wiki não ficou correto :oops: Poderia por favor apagá-lo (Não vi opção para apagar um post) (hehehe).

Bom, testei o código postado, com postgres 8.3.

Para verem as mudanças por mim implementadas/modificadas, procurem pelo meu nome "Rossine".

O código está meio bagunçado, pois trata-se de um protótipo. Depois que tudo estiver funcionando pretendo "enxugar" o código. :lol:

Antonio poderia ver o erro de GPF que está ocorrendo na função "DbRecordInfo" ?

Gracias,

Rossine.

Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 08:25 AM

Rossine,

Para borrar un post selecciona "Old Revisions":

"These are the older revisons of the current document. To revert to an old revision, select it from below, click Edit this page and save it."

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 11:14 AM
Rossine,

Pon una traza aqui y comprueba si llega:
STATIC FUNCTION SQL_RECINFO( nWA, nRecord, nInfoType, uInfo )  && Rossine 07/10/08
 
   LOCAL nResult := SUCCESS
   local aWAData := USRRDD_AREADATA( nWA )
   local cRddSep := SQLGetCurrentSep( aWAData[ WA_SYSTEMID ] )
   local nSysID  := aWAData[ WA_SYSTEMID ]
 
   MsgInfo( "here 1" )
   ...
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 12:14 PM
Olá Antonio,

Pon una traza aqui y comprueba si llega:


Já fiz isto não chega lá não :-)

Usando este recurso: http://67.222.39.232/forums/viewtopic.php?t=13053 me gera este erro:


Path: C:\myfwh\sqlwin\teste.exe (32 bits)
Tamanho: 1,983,488 bytes
Descrição do Erro: Erro GPFHANDLER/0 Erro de GPF: GPFHANDLER

Tempo de Uso: 0 hours 0 mins 2 secs
interrupção: 09/10/2008, 09:18:12

Argumento:
[ 1] = C EXCEPTION_ACCESS_VIOLATION - O thread tentou ler/escrever num endereço virtual ao qual não tinha acesso.
[ 2] = O Object
[ 3] = N -1073741819

Ordem de Chamada
================
2ª Chamada-> Módulo: ==> Linha: 0 Função: DBRECORDINFO
1ª Chamada-> Módulo: TESTE.PRG ==> Linha: 81 Função: MAIN



Saludos,

Rossine.
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 12:55 PM
Rossine,

Pruébalo asi:
STATIC FUNCTION SQL_RECINFO( nWA, nRecord, nInfoType, uInfo )  && Rossine 07/10/08 
  
   MsgInfo( "here 1" ) 
   ...
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 04:39 PM
Antonio,

STATIC FUNCTION SQL_RECINFO( nWA, nRecord, nInfoType, uInfo )  && Rossine 07/10/08 
  
   MsgInfo( "here 1" ) 
   ...


Mesmo erro de GPF :-)
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 05:32 PM
Olá Antonio,

Eu acrescentei o parametro "recno()" na dbrecorinfo() e não ocorreu mais o erro de GPF: Fiz assim:

msgstop( DbRecordInfo( DBRI_LOCKED, recno() ) )


O próximo passo agora é fazer funcionar as funções:

DbRecordInfo()
dbinfo()
dbrlocklist()

Alguma dica ?
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 06:12 PM

Rossine,

>
Eu acrescentei o parametro "recno()" na dbrecorinfo() e não ocorreu mais o erro de GPF: Fiz assim:

msgstop( DbRecordInfo( DBRI_LOCKED, recno() ) )
>

Bien! :-)

>
O próximo passo agora é fazer funcionar as funções:

DbRecordInfo()
dbinfo()
dbrlocklist()

Alguma dica ?
>

Revisa el código fuente de los RDDs que se proporcionan con Harbour/xHarbour. Es la mejor forma de ver como funcionan.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 06:39 PM
Olá Antonio,


Revisa el código fuente de los RDDs que se proporcionan con Harbour/xHarbour. Es la mejor forma de ver como funcionan.


OK.

   HB_SYMBOL_UNUSED( xRecId )
   HB_SYMBOL_UNUSED( nWA )


Porque disto no código abaixo ?

STATIC FUNCTION ADO_UNLOCK( nWA, xRecID )

/* TODO
   LOCAL oRecordSet := USRRDD_AREADATA( nWA )[ WA_RECORDSET ]
*/   
   HB_SYMBOL_UNUSED( xRecId )
   HB_SYMBOL_UNUSED( nWA )
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 06:49 PM

Rossine,

define HB_SYMBOL_UNUSED( symbol ) ( symbol := ( symbol ) )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 344
Joined: Tue Oct 11, 2005 11:33 AM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 07:11 PM
Antonio,

#define HB_SYMBOL_UNUSED( symbol ) ( symbol := ( symbol ) )


Mas o porque usar isto dentro de SQLWIN.PRG ? O que isto faz ?
Obrigado, Regards, Saludos



Rossine.



Harbour and Harbour++
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
SQLWIN - RDD libre para SQL
Posted: Thu Oct 09, 2008 07:51 PM

Rossine,

Evita los "warnings" de variables no usadas al compilar

regards, saludos

Antonio Linares
www.fivetechsoft.com