Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

error break en rad studio c++

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: error break en rad studio c++ Responder citando

Saludos a todos.

Hay un problema que no ocurria en la versionas builder c++ 6 y anteriores.

Yo ejecuto la siguiente instruccion de ejemplo:

Código:
rutaProcesados = qabs->FieldByName("RUTA_PROCESADOS_ABS")->AsString;


Como el campo RUTA_PROCESADOS_ABS no existe en la tabla de la base de datos salta un error, el problema es que no se para en esta instrucción si no que salta a otro archivo DB, en este caso, que contiene la siguiente funcion en pascal.

Código:
procedure DatabaseError(const Message: string; Component: TComponent = nil);
begin
  if Assigned(Component) and (Component.Name <> '') then
    raise EDatabaseError.Create(Format('%s: %s', [Component.Name, Message])) else
    raise EDatabaseError.Create(Message);
end;


Por si fuera poco si continuas con F8, en muchas ocasiones salta a las instrucciones en ensamblador que a mi no me sirven y el debug se hace bastante engorroso en ocasiones por culpa de esto.

Este problema no se soluciona version tras version ni con actualizaciones.

¿alguien sabe si hay alguna opcion o algo para que cuando haya un error siempre se pare en la instruccion que el programador escribe y no salte a las funciones anteriores que soportan el codigo?

Gracias de antemano y espero que alguien sepa como solcionar es mosca cojonera del rad.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola ZHAX1,

¿Será que el objeto qabs lo estás definiendo dinamicamente en tiempo de ejcución y por eso se pierde la asociación entre el componente y el mensaje de error?

Si es así, será un poco estresante desarrollar a partir de las nuevas versiones, en las que tendrás que tener todos los componentes preparaditos antes de iniciar la aplicación. Espero que no sea esa la razón.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Prueba cambiando lo siguiente en la configuración de tu proyecto:

MENU: Project -> Options... ->

(Primero en el combo de arriba que pone "Build Configuration" elegimos "Debug")

TREEVIEW: Directories and Conditionals ->

OPCIONES: Library path
(aquí buscamos donde pone "$(BDS)\lib\debug" y lo cambiamos por "$(BDS)\lib\release" teniendo cuidado de no tocar el resto)

(También lo puedes cambiar en las opciones por defecto de proyecto para que afecte a todos tus nuevos proyectos sin tener que estarlo cambiando cada vez)

----------

En la versión 6 y anteriores había una opción que ya no existe en las versiones nuevas que hacia lo de arriba, pero marcando o desmarcando simplemente un checkbox que por defecto venia desmarcado:

Project -> Options... -> Linker -> "Use debug libraries"

(Si lo marcas podrás comprobar que te pasara lo mismo que en las versiones más actuales)
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

en library path me aparece esto en la version 10
Cita:
c:\ac721;$(BDSLIB)\$(PLATFORM)\debug;$(BDSLIB)\$(PLATFORM)\release;$(BDSLIB)\win32\release\psdk;$(BDS)\RaveReports\Lib

con el platform en el medio, y vienen los 2.

$(BDSLIB)\$(PLATFORM)\debug;
$(BDSLIB)\$(PLATFORM)\release;


ahora mismo estoy con builder XE y quitando la linea de debug sigue saltandose el error al codigo pascal.

Gracias Leo por tu respuesta pero sigo sin solucion,
¿se puede probar otra cosa?
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

esta pagina quizá pueda ayudar a alguien.

http://smartbear.com/support/viewarticle/18728/

siguiendo sus pasos y los de leo, dejando solo la opcion release he conseguido que pulsando f7 me salte a mi funcion y no ha codigo ensamblador o pascal .
Pero aun me siguen saltando los errores a un .h (ustring.h en mi caso) en lugar de hacerlo directamente en mi instruccion, pero es un avance, si se puede mejorar avisar.


gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hasta la versión 2010 viene como te decía más arriba, como 10 supongo que te refieres a la XE. Yo creo debería ser suficiente con quitar "$(BDSLIB)\$(PLATFORM)\debug;" o bien intercambiar el orden en esa línea y poner las "..\release" primero..
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.