SQLWIN - RDD libre para SQL

Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

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.

Code: Select all


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:

Code: Select all

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 ? :wink:

Obrigado,
Obrigado, Regards, Saludos

Rossine.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

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 _ 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
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

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

Gracias,

Rossine.
Obrigado, Regards, Saludos

Rossine.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

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.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rossine,

Pon una traza aqui y comprueba si llega:

Code: Select all

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
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Olá Antonio,
Pon una traza aqui y comprueba si llega:
Já fiz isto não chega lá não :cry:

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.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rossine,

Pruébalo asi:

Code: Select all

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

Antonio Linares
www.fivetechsoft.com
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Antonio,

Code: Select all

STATIC FUNCTION SQL_RECINFO( nWA, nRecord, nInfoType, uInfo )  && Rossine 07/10/08 
  
   MsgInfo( "here 1" ) 
   ... 
Mesmo erro de GPF :cry:
Obrigado, Regards, Saludos

Rossine.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Olá Antonio,

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

Code: Select all


msgstop( DbRecordInfo( DBRI_LOCKED, recno() ) )

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

DbRecordInfo()
dbinfo()
dbrlocklist()

Alguma dica ?
Obrigado, Regards, Saludos

Rossine.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

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
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

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.

Code: Select all

   HB_SYMBOL_UNUSED( xRecId )
   HB_SYMBOL_UNUSED( nWA )
Porque disto no código abaixo ?

Code: Select all

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.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rossine,

#define HB_SYMBOL_UNUSED( symbol ) ( symbol := ( symbol ) )
regards, saludos

Antonio Linares
www.fivetechsoft.com
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Antonio,

Code: Select all

#define HB_SYMBOL_UNUSED( symbol ) ( symbol := ( symbol ) )
Mas o porque usar isto dentro de SQLWIN.PRG ? O que isto faz ?
Obrigado, Regards, Saludos

Rossine.

xHarbour comercial (xAcc) -> Testando harbour + bcc / msvc
fwh 9.05
Windows XP SP2
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rossine,

Evita los "warnings" de variables no usadas al compilar
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply