In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Error No exported method GOTOP al navegar por TMemDataset ***SOLUCIONADO***

Foro público de Xailer en español
Responder
Avatar de Usuario
jasm
Mensajes: 447
Registrado: Mar Jul 08, 2008 8:12 pm

Error No exported method GOTOP al navegar por TMemDataset ***SOLUCIONADO***

Mensaje por jasm »

Hola,
Estoy desde hace un rato dándole vueltas a este error que me da al intentar navegar por un TMemDataset (Xailer Ver. 3.0.1 y no veo donde me equivoco:
----------------------- Información detallada del error -----------------------
Subsistema: BASE
Código de error: 1004
Estado: .F.
Descripción: No exported method
Operación: GOTOP
Argumentos: [ 1] = Tipo: U Valor: NIL
Fichero:
Código error SO: 0
Pila de llamadas:
GOTOP (0)
TMEMDATASET:GOTOP (693)
GRUPOBRW:EDITAR (120)
TTOOLBUTTON:ONCLICK (0)
(b)XTOOLBUTTON (41)
TTOOLBUTTON:CLICK (0)
El código:
::dsZonaGrupoConexion:goTop()
while !::dsZonaGrupoConexion:eof()
.
.
.
.
Comprobado que está abierto el TMemDataSet.
Saludos y gracias.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9252
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Error No exported method GOTOP al navegar por TMemDataset ***SOLUCIONADO***

Mensaje por ignacio »

Buenos dí­as,
El módulo TMemDataest solo tiene 282 lí­neas. Parece que se está enlazando otra clase con el mismo nombre.
Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
jasm
Mensajes: 447
Registrado: Mar Jul 08, 2008 8:12 pm

Error No exported method GOTOP al navegar por TMemDataset ***SOLUCIONADO***

Mensaje por jasm »

Hola Ignacio,
Gracias por la respuesta.
El método donde se produce el error es este:
METHOD Nuevo( oSender ) CLASS grupoBrw
with object grupoEdit():New()
:cText := "Nuevo Grupo"
if :showmodal() == mrOk
::grupoConexion:addNew()
::grupoConexion:nombre := :edNombre:value
::grupoConexion:baja := 0
::grupoConexion:Update()
::zonaGrupoConexion:aSQLParams:={-1}
::zonaGrupoConexion:lOpen := .t.
::lastIdQuery:lOpen := .t.
:dsZonaGrupoConexion:goTop()
while !:dsZonaGrupoConexion:eof()
if !:dsZonaGrupoConexion:baja
::zonaGrupoConexion():addNew()
::zonaGrupoConexion:id := nil
::zonaGrupoConexion:id_grupo := ::lastIdQuery:lastId
::zonaGrupoConexion:id_zona := :dsZonaGrupoConexion:id_zona
::zonaGrupoConexion:update()
end if
:dsZonaGrupoConexion:skip()
end do
end if
:dsZonaGrupoConexion:lOpen := .f.
::zonaGrupoConexion:lOpen := .f.
::lastIdQuery:lOpen := .f.
end with

RETURN Nil
He probado poner el TMenDataSet como local y no me da errores. El caso es que al formar parte del formulario llamado e intentar usarlo desde el llamante, es cuando se produce el error.
El TMemDataSet se crea en el método Inicialize del formulario y funciona correctamente (puedo añadir, modificar y eliminar) hasta que quiero recorrerlo desde el método que llama al formulario.
Un saludo y gracias
José Alfonso Suárez Moreno
Avatar de Usuario
jasm
Mensajes: 447
Registrado: Mar Jul 08, 2008 8:12 pm

Error No exported method GOTOP al navegar por TMemDataset ***SOLUCIONADO***

Mensaje por jasm »

Hola Ignacio,
Aquí­ dejo un ejemplo autocontenido que reproduce el error.
Saludos
Jose A. Suarez Moreno

Attached files memdatasetTest.zip (4 KB)Â
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9252
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Error No exported method GOTOP al navegar por TMemDataset ***SOLUCIONADO***

Mensaje por ignacio »

jasm escribió el mar, 07 octubre 2014 17:12Hola Ignacio,
Aquí­ dejo un ejemplo autocontenido que reproduce el error.
Saludos
Jose A. Suarez Moreno
Realmente no es un error y precisamente se comentó esto mismo hace muy pocos dí­as. El objeto TMemDataset pertenece a TForm2, cuando éste se destruye, todos sus componentes son también destruidos.
Solución:
1) Crear TMemDataset por código
2) Crear TMemDataset en TForm1
3) Utilizar la propiedad TForm2:lHideOnClose
Saludos
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
jasm
Mensajes: 447
Registrado: Mar Jul 08, 2008 8:12 pm

Error No exported method GOTOP al navegar por TMemDataset ***SOLUCIONADO***

Mensaje por jasm »

Gracias.
Responder