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 27-01-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
No consigo hacer funcionar este bucle.

Buenas adjunto este codigo , porque me estoy volviendo loco , como vereis hago un bucle y tengo 2 variables Esfera1 y Esfera2 , pues cuando debugo pongo el breakpoint justamente en el begin , pués de la variables esfera1 salta directamente a ObrirQuery.

No se que puede ser o que hacer.

salu2 radge

Código Delphi [-]
procedure Tfrmoferta1.BitBtn6Click(Sender: TObject);
var
   minuevavar,var1,var2,esfera1,esfera2:integer;
begin
   Esfera1 := 100;
   Esfera2 := 200;

   ObrirQuery('699'); //consulta query

   While not qryCotes.EOF do begin
      var1:= round(qryCotes.FieldByName('campo1').AsFloat * 100);
      var2:= round(qryCotes.FieldByName('campo2').AsFloat * 100);


   ...
   ...
   end;


end;
Responder Con Cita
  #2  
Antiguo 27-01-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola radge,

hay a veces, no se porque misteriosa razon, que la informacion de debug no queda actualizada con la compilación: breakpoints invalidos, etc... yo lo soluciono borrando todos los .dcu (u .obj) del proyecto y recompilando todo de cero. A ver si va a ser por eso. Saludos.
Responder Con Cita
  #3  
Antiguo 27-01-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
Gracias por la info lo pruebo ahora mismo y te cuento !

salu2 radge
Responder Con Cita
  #4  
Antiguo 27-01-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
Pues no me hace lo mismo... es rarisimo.

Alguna otra opción ?

salu2 radge
Responder Con Cita
  #5  
Antiguo 27-01-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
Dejo una muestra de la pantalla a ver si con esto ayudo un poco más.



salu2 radge
Responder Con Cita
  #6  
Antiguo 27-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y, ¿dónde más usas las variables esfera1 y esfera2? Porque si no se usan posteriormente, el compilador elimina esas asignaciones.

// Saludos
Responder Con Cita
  #7  
Antiguo 27-01-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
De hecho es el IF este que las 2 variables tienen el valor -1000 pero todo y asi no entra en el dichoso bucle.



salu2 radge
Responder Con Cita
  #8  
Antiguo 27-01-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
en los pantallazos que nos pones, sale la x de invalid breakpoint...estan las opciones de debug activadas en el compilador?
Responder Con Cita
  #9  
Antiguo 27-01-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
Cita:
Empezado por coso Ver Mensaje
en los pantallazos que nos pones, sale la x de invalid breakpoint...estan las opciones de debug activadas en el compilador?
En project ==> Options ==> Debugging (todas marcadas menos la que pone "use debug dcus"

Si pongo el breakpoint en otra fila no sale ese error tal como adjunto



salu2 radge
Responder Con Cita
  #10  
Antiguo 27-01-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
La verdad es que visto así a cuenta gotas, y con esos colores, cuesta mucho trabajo leer. Cuando los puntos de ruptura aparecen con ese verde tachado es porque el compilador eliminó esas instrucciones. Bien puede ser porque posteriormente asignas nuevos valores sin haber usado los primeros.

En todo caso, siempre puedes deshabilitar la optimización del depurador (Project|Options|Compiler) para que esas llamadas no se eliminen.

// Saludos
Responder Con Cita
  #11  
Antiguo 27-01-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Desactiva las optimizaciones del compilador en las opciones del proyecto.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 27-01-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
Cita:
Empezado por roman Ver Mensaje
La verdad es que visto así a cuenta gotas, y con esos colores, cuesta mucho trabajo leer. Cuando los puntos de ruptura aparecen con ese verde tachado es porque el compilador eliminó esas instrucciones. Bien puede ser porque posteriormente asignas nuevos valores sin haber usado los primeros.

En todo caso, siempre puedes deshabilitar la optimización del depurador (Project|Options|Compiler) para que esas llamadas no se eliminen.

// Saludos
Tambien lo he probado a quitar la opción "optimitzation" , guardar , hacer un build y nada hace lo mismo.

salu2 radge
Responder Con Cita
  #13  
Antiguo 27-01-2009
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Sin conocer mejor el código va a ser difícil que hallemos el problema. Las imágenes nos dan una idea de por donde puede venir el problema, pero es sólo una vista parcial del problema y va a ser necesario ver el código en su totalidad para saber por donde vienen los tiros.

Además veo una diferencia entre el código inicial y lo que se ve en las imágenes. Por ejemplo, en el código primero inicializas las variables y luego viene ObrirQuery,pero en la imagen se ve primero ObrirQuery, y luego la inicialización. ¿Que hace ese ObrirQuery()? Difieren además la cantidad de variables.

Discúlpame pero eso confunde un poco. ¿Cuál es el código correcto?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #14  
Antiguo 27-01-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Hago una pregunta. A pesar de que no se "ejecuten" las asignaciones según los breakpoints, obtienes un coportamiento no esperado?

Estoy suponiendo, que el compilador iniciliza las variables a sus respectivos valores cuando las creas. Para confirmar lo anterior, intenta hacer un breakpoint dentro del bucle "while ... do" y luego lee el contenido de las varibles, ya sea haciendo "CTRL + Click" sobre la variable o posicionando el mouse sobre ésta deberá aparecete un Tooltip con el valor de la variable.

Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #15  
Antiguo 27-01-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Cita:
todas marcadas menos la que pone "use debug dcus"
yo la marcaria si de caso y recompilaria (borrando los anteriores .dcus)

Código Delphi [-]
while ((esfera <= EsfMax) and (esfera >= EsfMin)) do begin

if esfera = esfmin then ...

end;

es posible que sencillamente no se cumpla la condición ya de antemano? por ejemplo, que este while este en otro del tipo while esfera > EsfMin o algo parecido...entonces el compilador eliminaria esa linea.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
hacer funcionar un lector de codigos de barras Ubuntero Providers 3 15-12-2006 05:40:16
¿Hacer funcionar escaner desde delphi? an)RES Varios 1 09-12-2006 03:48:44
Urgente Como consigo este componente Maxsteel73 Impresión 1 20-04-2006 09:52:28
Hacer funcionar un dbgrid maui Conexión con bases de datos 3 17-06-2004 21:59:26
no consigo hacerlo funcionar deivi Conexión con bases de datos 3 06-02-2004 17:53:00


La franja horaria es GMT +2. Ahora son las 05:16:57.


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