Error con tdbobdc + xbrowse + mdi
Posted: Fri Nov 26, 2010 12:32 pm
Estoy construyendo una aplicación y me sale un error cuando trato de usar un xbrowse (con un recordset creado con tdbodbc) en una ventana mdi, el error es SQLExtendFetch on Goto() method [#4626092] class: (y una serie de caracteres aleatorios).
Si quito las clausulas mdi y creo dos ventanas independientes si muestra los registros, pero al darle click al xbrowse da el mismo error, si hago el xbrowse directamente en la ventana principal no da ningun error y funciona perfectamente.
No creo que sea un error de conexion con el servidor sql (sql server 2005) ya que si hago un recorido (he probado con skip(), goto(), etc.) del recordset me muestra todos los datos perfectamente.
Luego me puse creativo y probe usando un dialogo en vez de una ventana y funciona, luego pense en usar una ventana y ponerle un dialogo child, pero al darle la clausula NOWAIT al dialogo zas el mismo error.
segmento de codigo
Ayuda por favor estoy trancadisimo con esto.
De antemano gracias.
Si quito las clausulas mdi y creo dos ventanas independientes si muestra los registros, pero al darle click al xbrowse da el mismo error, si hago el xbrowse directamente en la ventana principal no da ningun error y funciona perfectamente.
No creo que sea un error de conexion con el servidor sql (sql server 2005) ya que si hago un recorido (he probado con skip(), goto(), etc.) del recordset me muestra todos los datos perfectamente.
Luego me puse creativo y probe usando un dialogo en vez de una ventana y funciona, luego pense en usar una ventana y ponerle un dialogo child, pero al darle la clausula NOWAIT al dialogo zas el mismo error.
segmento de codigo
- Code: Select all Expand view
function main()
define window owndmain mdi
oOdbc := TOdbc():New(cDsn, cName, cPass)
If !oOdbc:lSuccess
oOdbc:ShowErrorList("La sesion no se ha podido establecer, abortando...")
oOdbc:End()
return nil
Endif
.
.
.
@ 2, 70 ADD BUTTON oBtn2 PROMPT "Productos" TOP GROUP oGr_1_1 BITMAP ".\BMP\product-32.BMP" ;
SIZE 60, 80 ROUND ;
action ( OPENTABLE( "Productos", "select * from ctaarticulos", oOdbc ) )
.
.
.
activate window owndmain
oOdbc:end()
return nil
function opentable( cHeader, cQuery, oOdbc )
oDbf := TDbOdbc():new( cQuery, oOdbc )
mybrowse( cHeader, oDbf )
return nil
function mybrowse( cHeader, oDbf )
DEFINE WINDOW oWnd TITLE cHeader + " Todos los registros ( " + alltrim( str( odbf:reccount(), 10, 0 ) ) +" registros )";
from 0,0 to 500, 800 pixel mdichild of oWndmain NOMAXIMIZE NORESIZE
@ 0,0 XBROWSE oBrw OF oWnd RECSET odbf AUTOCOLS FOOTERS ;
LINES CELL
oBrw:CreateFromCode()
oWnd:oClient := oBrw
activate window ownd on init oBrw:SetFocus()
return nil
Ayuda por favor estoy trancadisimo con esto.
De antemano gracias.