Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-04-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
pacopenin,

Cita:
Empezado por pacopenin
...Los valores de las variables y de la evaluación de la expresión puedes verlas en la primera pantalla que puse al lado izdo...
No necesariamente el valor mostrado en la pantalla de Watch List sera igual al valor visto con Ctrl+F7 (Evaluate/Modify).

Una vez me paso algo similar con una variable tipo Double en Delphi 7 y había diferencias en ambas visualizaciones, esto era lo que causaba la confusión al momento de hacer el Debug dado que en mi caso la condición no se cumplía a pesar de que en la pantalla de
Watch List se mostraba el valor supuestamente correcto, pero con Ctrl+F7 (Evaluate/Modify) se mostraba el valor que realmente se estaba evaluado en la condición IF.

Creo que es más factible que sea algún error aleatorio muy esporádico y de condiciones muy particulares en la visualización de las variables en el
Watch List o cuando se coloca el Mouse sobre una variable para ver su valor, que un error del compilador ya sea por optimización o cualquier otro tipo.

En el Msg #1 comentastes que el error se presento en la versiones de Delphi 2, Delphi 6 y Delphi 2007, es muy improbable que un error del compilador de ese tipo haya sobrevivido tantos años y a tantos proyectos en todo el mundo.

Pregunto: ¿Ha alguien en el Club Delphi le ha pasado en alguna versión de Delphi algo similar a lo comentado en este hilo?

Espero sea útil

Nelson.
Responder Con Cita
  #2  
Antiguo 19-04-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por nlsgarcia Ver Mensaje
Pregunto: ¿Ha alguien en el Club Delphi le ha pasado en alguna versión de Delphi algo similar a lo comentado en este hilo?
A mí, y estoy seguro que a muchos otros compañeros también les ha ocurrido.

Creo que la gran mayoría de los programadores que venimos de Turbo Pascal o de Visual Basic (perdón que haga mención a algo tan bueno junto con algo tan malo), hemos aprendido aquella popular lección de por qué la sentencia With de Delphi debe ser empleada bajo cautela.

pacopenin: Supongo que "Datos" es un módulo de datos o algún otro objeto que, como sucede en el caso de los formularios, también posee una propiedad llamada Name (todas las clases derivadas de TComponent la heredan de ésta). Y hay que decir que el depurador es muy bueno para determinar el ámbito de un identificador añadido a la lista de observaciones, excepto cuando se trata de algún miembro sin calificar perteneciente a un objeto indicado en With...Do.

En términos llanos, el depurador está evaluando la propiedad Name del formulario, pero el If está evaluando la propiedad Name del objeto, registro o interfaz Datos.

Desde luego solo tú, que tienes el código, podría confirmar si mi teoría es cierta.

Un cordial saludo.

Al González.
Responder Con Cita
  #3  
Antiguo 20-04-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
pacopenin,

Cita:
Empezado por Al González
...el depurador es muy bueno para determinar el ámbito de un identificador añadido a la lista de observaciones, excepto cuando se trata de algún miembro sin calificar perteneciente a un objeto indicado en With...Do...


Revisa esta imagen:



La imagen anterior muestra exactamente el caso planteado en el Msg #15 y el mismo comportamiento del IF en el Msg #1, esto es mucho más probable que un error del compilador ya sea por optimización o cualquier otro tipo.

Espero sea útil

Nelson.
Responder Con Cita
  #4  
Antiguo 20-04-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 16
pacopenin Va por buen camino
Guau. Estoy sin palabras. A pesar de que desde el principio comenté que no era un reto, estoy más que sorprendido por lo acertado y oportuno de vuestras deducciones. Obviamente habéis sabido entender la naturaleza de problema y buscar la solución. Yo me había quedado en lo evidente, lo visual y lo lógico. Gracias por el tiempo dedicado, la explicación y como no, la consiguiente reproducción del problema. Una vez más repito que estoy sin palabras. Gracias.

__________________
http://www.gestionportable.com
Responder Con Cita
  #5  
Antiguo 20-04-2014
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por pacopenin Ver Mensaje
Guau. Estoy sin palabras. A pesar de que desde el principio comenté que no era un reto, estoy más que sorprendido por lo acertado y oportuno de vuestras deducciones. Obviamente habéis sabido entender la naturaleza de problema y buscar la solución. Yo me había quedado en lo evidente, lo visual y lo lógico. Gracias por el tiempo dedicado, la explicación y como no, la consiguiente reproducción del problema. Una vez más repito que estoy sin palabras. Gracias.
++1 para los que han participado (menos yo, claro)
Responder Con Cita
  #6  
Antiguo 21-04-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
++1 para los que han participado (menos yo, claro)
+1 para todos los que podemos darnos el "lujo" de ayudar de cuando en cuando a los colegas de profesión, y +++1 para los que siempre están ahí apoyando igual o más.

Como es deseable, esta solución se construyó de forma cooperativa, y eso nos permite recordar quiénes somos. (Hay un par de pequeñas erratas pendientes de enmendar).

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Evaluar doble condicion al hacer clic en boton jafera OOP 2 25-01-2014 19:00:52
El extraño caso de la etiqueta (TLabel) invisible. TiammatMX OOP 1 10-11-2011 22:11:07
Evaluar un Proyecto Migpal Debates 2 24-11-2005 13:23:05
Extraño caso con Rave CartoneroWeb Impresión 0 20-10-2005 22:53:45
Locate en IBX caso extraño raul_sal Conexión con bases de datos 1 27-03-2004 18:41:38


La franja horaria es GMT +2. Ahora son las 08:34:12.


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