Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-12-2005
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Error en ejecución pero no con Debugger

Hola Amigos !

Por qué puede ser que un código me de error en ejecución algunas veces sí, otras no, y si lo ejecuto por el Debugger, nunca.

El código es:
Código Delphi [-]
DM1.IBQuery9CATEGORYNO.OnValidate    := nil;
DM1.IBQuery9SUBCATEGORYNO.OnValidate := nil;
DM1.IBQuery9DATEARRIVAL.OnValidate   := nil;
DM1.IBQuery9DATEDEPARTURE.OnValidate := nil;
DM1.IBQuery9SURNAME1.OnGetText       := nil;
DM1.IBQuery9STATUS.OnGetText         := nil;
For I := 1 to DM1.IBQueryCheck.FieldByName('SUM').Value - DM1.IBQueryCheck2.FieldByName('COUNT').Value do begin
  DM1.IBQuery9.Append;
  DM1.IBQuery9BOOKINGNO.Value     := DM1.IBQuery1BOOKINGNO.Value;
  DM1.IBQuery9DATEARRIVAL.Value   := DM1.IBQuery1DATEARRIVAL.Value;
  DM1.IBQuery9DATEDEPARTURE.Value := DM1.IBQuery1DATEDEPARTURE.Value;
  DM1.IBQuery9STATUS.Value        := DM1.IBQuery1STATUS.Value;
  DM1.IBQuery9CATEGORYNO.Value    := DM1.IBQueryCheck.FieldByName('CATEGORYNO').Value;
  DM1.IBQuery9SUBCATEGORYNO.Value := DM1.IBQueryCheck.FieldByName('SUBCATEGORYNO').Value;
  DM1.IBQuery9PAXQUANTITY.Value   := DM1.IBQueryCheck.FieldByName('PAXNO').Value;
  DM1.IBQuery9SURNAME1.Value      := DM1.IBQueryCheck.FieldByName('CODEN').Value;
end;
DM1.IBQuery9CATEGORYNO.OnValidate    := DM1.IBQuery2CATEGORYNOValidate;
DM1.IBQuery9SUBCATEGORYNO.OnValidate := DM1.IBQuery9SUBCATEGORYNOValidate;
DM1.IBQuery9DATEARRIVAL.OnValidate   := DM1.IBQuery9DATEARRIVALValidate;
DM1.IBQuery9DATEDEPARTURE.OnValidate := DM1.IBQuery9DATEDEPARTUREValidate;
DM1.IBQuery9SURNAME1.OnGetText       := DM1.IBQuery9SURNAME1GetText;
DM1.IBQUery9STATUS.OnGetText         := DM1.IBQuery9STATUSGetText;
La línea que en concreto dá el error es
Código:
DM1.IBQuery9SURNAME1.Value := DM1.IBQueryCheck.FieldByName('CODEN').Value;
He creado todos los componentes afectados de nuevo, he comprobado todos los campos, propiedades y eventos.

Cuando entro por primera vez al programa, y lo ejecuto, normalmente no suele dar error. Si lo ejecuto la siguiente vez, probable que sí, a las pocas veces de reiterar el bucle; y si ejecuto el código (el bucle detallado) varias veces, entonces el error aparece prácticamente cada vez, inmediatamente al principio de la ejecución del bucle. Indico que el IBQueryCheck se borra y se añade texto nuevo cada vez en tiempo de ejecución, y después "prepare" y "open" por lo que por ese lado no debe ser.

El error es de nuevo "Object Reference not set to an instance of an object". Sólo en ese campo concreto me da el error.

He probado de todo. Si le asigno al campo sólo una cadena de caracteres normal, no falla nunca.

Otra curiosidad: Si añado una línea anterior tal como
Código:
Label1.Caption := DM1.IBQueryCheck.FieldByName('CODEN').Value
esta línea también me la ejecuta SIEMPRE de manera correcta. Pero en cambio en la línea inmediatamente siguiente si intento pasarle el mismo valor al campo susodicho, pues de nuevo error.

Inlcuse he probado con
Código:
DM1.IBQuery9SURNAME1.Value := Label1.Caption;
dejando incluida la línea adicional arriba indicada. Pues de nuevo me dá el error en esta línea.

Y lo más raro, por lo que no se trata entiendo yo de un error de programación, es que con el Debug paso a paso NUNCA, pero NUNCA, me sale el error.

Gracias una vez más por vuestra ayuda y un saludo a todos.
__________________
Piensa siempre en positivo !
Responder Con Cita
Respuesta



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 06:06:54.


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