Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas con Debug y Breakpoint (https://www.clubdelphi.com/foros/showthread.php?t=2866)

Berto2003 11-08-2003 11:21:55

Problemas con Debug y Breakpoint
 
Hola a tod@s:

Me gustaría haceros una consulta. Tengo Delphi 6 y Windows 2000. Estoy utilizando un programa basado en paquetes y tengo el siguiente problema. Al intentar depurar uno de estos paquetes Delphi salta algunas líneas de código y parece que no las ejecuta. En concreto no pasa por un 'ShowMessage' de un procedimiento público de la clase de uno de los paquetes. Tenemos quitado las marcas de optimización dentro de 'Project/Options' y también marcado todas las opciones de debug y runtime errors. No sé si me he explicado bien, en fin.

Bueno, muchas gracias de antemano por vuestra ayuda.

Un saludo y hasta luego,
Alberto.

__cadetill 11-08-2003 12:05:49

Cita:

Posteado originalmente por Berto2003
En concreto no pasa por un 'ShowMessage' de un procedimiento público de la clase de uno de los paquetes.
¿¿Si no pasa por esa linea sera porque tienes alguna condicion que lo impida (if) o un break, o abort o algo por el estilo??

delphi.com.ar 11-08-2003 16:59:09

Puede ser lo que dice cadetill, digamos que el compilador optimiza el código y no compila el código que nunca se ejecutará, por ejemplo:

Código:

if False Then
begin
  Show; {Este código no se compilara}
end;

Otra opción puede ser que la unit no se esté compilando y la versión del la DCU de esa unit sea antigua y no posea esos cambios, entonces el código que estas viendo con el debugger no es lo que estas debugeando. Una solución para esto es agregar en el search path del proyecto la ruta donde están las units, o agregarlo en el Library Path.

Saludos!

Berto2003 12-08-2003 00:33:44

Hola de nuevo.

Gracias cadetill, delphi.com.ar y demás amig@s por vuestra ayuda. Es para morirse de risa (por no llorar). "Casualmente" he dado con la solución y es que por no sé qué razón extraña al escribir el código desde el IDE, me ha puesto todo un procedimiento en una línea. Así de raro. Esto lo he comprobado abriendo el fichero .pas con el programa UltraEdit y me aparecía todo el procedimiento en una línea de esta manera:

procedure TForm1.ActivateForm (....) begin .... if (....) begin ... end...

Cuando he puesto esto convenientemente con sus saltos de línea, "bualá", al hacer el debug y ejecutar, ha pasado por los 'showmessage' que os dije que se saltaba. En fin, muchas gracias de nuevo y hasta pronto.

Un saludo,
Bye. :)

delphi.com.ar 12-08-2003 00:50:27

Me ha pasado mas de una vez, sobretodo copiando código desde internet. El problema es que no siempre viene CR+LF... muchas veces solo es CR o LF!
Como solución los he abierto con el WordPad, y salvado como "Ansi Text"... (Eso creo)

Saludos!


La franja horaria es GMT +2. Ahora son las 12:47:38.

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