Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2005
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 22
Jose_Pérez Va por buen camino
"Registro fantasma" en TRxMemoryData.

Hola a tod@s:

¡Que título tan misterioso para el asunto de este hilo!

Ahora me pongo serio y lo explico... Tengo dos TRxMemoryData (para entendernos mejor MemoryDataOrigen y MemoryDataDestino) asociados a sus respectivos DBGrid, a los que paso información de uno a otro utilizando las técnicas de arrastrar y soltar. La copia de registros de un TRxMemoryData a otro funciona a la perfección. Después de haber finalizado el procedimiento de copia del registro, doy la posiblidad al usuario de cancelar la operación. Si el usuario decide cancelar, borro el registro del siguiente modo: TRXMemoryData.Delete . Hasta aquí todo es correcto.

Supongamos que MemoryDataDestino está vacío, y tras una operación de arrastrar y soltar (con éxito), el usuario decidió cancelar la operación, y en ese momento el MemoryDataDestino queda de nuevo con 0 registros. Si el usuario vuelve a realizar una segunda operación (de nuevo con éxito) lo lógico sería que ahora hubiese 1 registro. Mi sorpresa, y por eso lo de "registro fantasma" es que aparecen 2 registros.

Dicho de otra manera, si se copia un registro y a continuación se elimina, al añadir un nuevo registro por segunda vez, aparece el "fantasma" del eliminado (con el valor de los campos vacíos) más el añadido (2 registros). Y lo sorprendente es que después de eliminar el registro, el RecordCount me devuelve 0, y la propiedad IsEmpty me devuelve True. Todo esto no sucede si hay más de un registro. Es como si TRXMemoryData "no entendiese" el concepto de tabla vacía.

He probado a vaciar el TRXMemoryData con el método EmptyTable, pero sigue igual.

Espero haberme explicado correctamente. ¿Alguna sugerencia?

Saudos y gracias.

Última edición por Jose_Pérez fecha: 19-05-2005 a las 14:39:47.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:42:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi