Ir al contenido


Foto

Query1.Close y Query1.Free no funcionan


  • Por favor identifícate para responder
5 respuestas en este tema

#1 cannabis

cannabis

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 257 mensajes
  • LocationMéxico

Escrito 20 enero 2017 - 06:45

Hola Foronautas.

 

 

Un caso extraño:

 

1.- El usuario presiona clic en un botón.

2.- Se abre un formulario.

3.- En el OnActivate, creo un Query y una tabla de memoria (TRxMemoryData de RxLib) e inicio los campos TEdit como vacíos.

4.- El usuario captura los datos

5.- Pulsa clic en un botón para guardar los datos.

6.- En el OnClose, aplico el código penal de Delphi:

 

          Query1.Close;

          Query1.Free;

          TRxMemoryData1.Close;

          TRxMemoryData1.Free;

 

Hasta aquí todo bien.

 

El problema es que de vez en cuando, al entrar el usuario al formulario, aparecen los datos en los TEdit y el TRxMemoryData1 tiene registros. Como si no se hubiera borrado nada.

La información es de la última captura hecha.

 

Uso D7 y Mercury Database Objects.

 

 

 

Hasta pronto.

 


  • 0

#2 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 20 enero 2017 - 07:50

Depura la aplicacion. Verifica que el codigo que decis que se esta ejecutando efectivamente lo este haciendo. Chequear por las pre y post condiciones entre lineas del evento OnClose es una buena iniciativa

 

Necesitamos mas codigo. Asi con lo que nos dices parece que nos estas contando una anecdota. El codigo con el que invocas al form es relevante. Usas variables globales o locales? En este punto sobre todo importa la variable del form. Los Componentes query y la tabla de memoria, donde residen? En un DataModule? Ese DataModule cuando y quien lo crea?

 

A mi me da la impresion de que estas acarreando estado "global"


Editado por Agustin Ortu, 20 enero 2017 - 07:51 .

  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 20 enero 2017 - 08:04

¿Realmente se cierra y destruye el formulario?

 

 

Saludos.


  • 0

#4 cannabis

cannabis

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 257 mensajes
  • LocationMéxico

Escrito 24 enero 2017 - 05:09

Hola, forofílicos.

 

Pues resulta que el problema no era si se creaban y destruían los queries y las tablas de memoria, o no.

 

Los usuarios de esa empresa están acostumbrados a guardar las capturas, de cualquier índole, con la tecla F4. Activé esa opción en el software que desarrollé pero (siempre hay un pero), no tomé en cuenta que podrían presionar F4 más tiempo del debido.

Así que al pulsar F4 más de una vez o un poco más de tiempo, el proceso de guardar los datos se duplicaba.

 

Ya está solucionado el problema.

 

 

Muchas gracias.


  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 24 enero 2017 - 05:16

Hola, forofílicos.

 

Pues resulta que el problema no era si se creaban y destruían los queries y las tablas de memoria, o no.

 

Los usuarios de esa empresa están acostumbrados a guardar las capturas, de cualquier índole, con la tecla F4. Activé esa opción en el software que desarrollé pero (siempre hay un pero), no tomé en cuenta que podrían presionar F4 más tiempo del debido.

Así que al pulsar F4 más de una vez o un poco más de tiempo, el proceso de guardar los datos se duplicaba.

 

Ya está solucionado el problema.

 

 

Muchas gracias.

 

Vaya 

 

Que peligro es usar esa tecla, imagina que un nervioso le de Alt+F4  :s

 

Saludos.


  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 24 enero 2017 - 05:23

He visto que algunos juegos habilitan screenshots con la tecla F2. Desconozco si es alguna especie de "norma" en el mundo "gamer" pero es quizá una mejor opción antes que la F4 por las razones que Eliseo comenta. ;)


  • 0




IP.Board spam blocked by CleanTalk.