SQLWIN - RDD libre para SQL

Postby Rossine » Tue Oct 07, 2008 7: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.

Code: Select all  Expand view  RUN

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  Expand view  RUN
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.

Harbour and Harbour++
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby Antonio Linares » Tue Oct 07, 2008 8: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rossine » Tue Oct 07, 2008 9: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++
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby Rossine » Wed Oct 08, 2008 3: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++
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby Antonio Linares » Thu Oct 09, 2008 8: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Antonio Linares » Thu Oct 09, 2008 11:14 am

Rossine,

Pon una traza aqui y comprueba si llega:
Code: Select all  Expand view  RUN
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
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rossine » 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 :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.

Harbour and Harbour++
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby Antonio Linares » Thu Oct 09, 2008 12:55 pm

Rossine,

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rossine » Thu Oct 09, 2008 4:39 pm

Antonio,

Code: Select all  Expand view  RUN
STATIC FUNCTION SQL_RECINFO( nWA, nRecord, nInfoType, uInfo )  && Rossine 07/10/08
 
   MsgInfo( "here 1" )
   ...


Mesmo erro de GPF :cry:
Obrigado, Regards, Saludos

Rossine.

Harbour and Harbour++
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby Rossine » Thu Oct 09, 2008 5:32 pm

Olá Antonio,

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

Code: Select all  Expand view  RUN

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

Postby Antonio Linares » Thu Oct 09, 2008 6: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rossine » Thu Oct 09, 2008 6: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.

Code: Select all  Expand view  RUN
   HB_SYMBOL_UNUSED( xRecId )
   HB_SYMBOL_UNUSED( nWA )


Porque disto no código abaixo ?

Code: Select all  Expand view  RUN
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++
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby Antonio Linares » Thu Oct 09, 2008 6:49 pm

Rossine,

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rossine » Thu Oct 09, 2008 7:11 pm

Antonio,

Code: Select all  Expand view  RUN
#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++
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby Antonio Linares » Thu Oct 09, 2008 7:51 pm

Rossine,

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

PreviousNext

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 18 guests