 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Invitado
|
Publicado: Mar 27 Abr, 2004 6:20 pm Asunto: Aplicacion que se cierra sola |
|
|
Bueno, se que no doy muchos datos porque en realidad no se donde puede estar el problema.
Tengo una aplicacion que me ha funcionado perfectamente en mi equipo y en el de mi compañero de trabajo. Es el tipico form con un menu para abrir otros forms y demas. Trabaja con base de datos y es cliente/servidor.
El problema (y no pasa siempre) es que en el ordenador de mi cliente, tras hacer un ejecutable, configurar rutas y demas, al elegir una opcion de menú, en lugar de mostrar el formulario correctamente, la aplicación se cierra, sin dar ningún tipo de excepción. Lo mismo funciona correctamente la aplicación o se produce este fallo.
No se, no se que mas datos daros pues no termino de comprender que puede estar fallando. A ver si podeis ayudarme o a ver si os ha pasado alguna vez algo parecido. Gracias. |
|
| Volver arriba |
|
 |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Mie 28 Abr, 2004 4:42 am Asunto: |
|
|
TE sugiero que compiles con opciones de debug.
Luego, es posible q lo q anda en Win98, no ande en Win 2000 o XP, ya que son SO más estables, digamos.
Otra cosa, es intentar saber el punto de exacto de cuelgue para luego revisar. Siguiendo la linea podrías programar una bitácota del sistema que vaya agregando en un simple archivito, que ha ido pasando con el sistema. Esto te permitirá hacer una ingeniería inversa del problema.
atte _________________ Adrián
http://adrian.org.ar |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mie 28 Abr, 2004 8:23 pm Asunto: |
|
|
La aplicacion la he desarrollado en w2000. De momento lo unico que he conseguido averiguar es lo siguiente. En el evento onShow de uno de los formularios que suele hacer que la aplicacion se cierre tengo el siguiente código:
| Código: |
void __fastcall TformTratamientoRiesgosEvitables::FormShow(TObject *Sender)
{
GB_RieEvi->Enabled=false;
btNuevoInforme->Enabled = true;
btSiguientePuesto->Enabled = false;
btAsignarCausa->Enabled = true;
GB_Pue->Enabled = false;
btTratarPuesto->Enabled=true;
GB_Con->Enabled = true;
btNuevoInforme->Enabled = true;
btAceptar->Enabled = true;
try
{
//Ejecutamos la consulta del Query y sacamos los contratos
DM_prevensys->IBQ_SelInfTec->Close();
DM_prevensys->IBQ_SelInfTec->ParamByName("dni")->AsString = formIdentificacion->Label_id_tecnico->Caption;
DM_prevensys->IBQ_SelInfTec->ParamByName("tipo")->AsString = "RE";
DM_prevensys->IBQ_SelInfTec->Open();
DM_prevensys->IBQ_SelInfTec->First();
//Borramos lo que hubiese en el Combo Informes
CB_Inf->Clear();
//Recorremos el Query para ir insertando en el ComboBox
while (!(DM_prevensys->IBQ_SelInfTec->Eof)) {
CB_Inf->Items->Add(DM_prevensys->IBQ_SelInfTecID_INFORME->Value);
DM_prevensys->IBQ_SelInfTec->Next();
}
//Cerramos el Query
DM_prevensys->IBQ_SelInfTec->Close();
//Ejecutamos la consulta del Query y sacamos los nombres
//de los riesgos que hay en la BD
DM_prevensys->IBQ_SelRie->Open();
DM_prevensys->IBQ_SelRie->First();
//Borramos lo que hubiese en el Combo
CB_RieEvi->Items->Clear();
//Recorremos el Query para ir insertando en el ComboBox
while (!(DM_prevensys->IBQ_SelRie->Eof)) {
CB_RieEvi->Items->Add(DM_prevensys->IBQ_SelRieNOMBRE->Value);
DM_prevensys->IBQ_SelRie->Next();
}
//Cerramos el Query
DM_prevensys->IBQ_SelRie->Close();
} catch(...) {
String error = AnsiString("ERROR. Problema con la base de datos. Avise al Administrador.") +
AnsiString("LOCALIZACION: onShow/ModificarPuestoEvitable.cpp");
ShowMessage(error);
}
}
|
La consulta DM_prevensys->IBQ_SelRie lo que hace es un select de una tabla de la base de datos que devuelve una lista de nombres de riesgos, lo curioso es que cuando los añade en el combo CB_RieEvi, algunos de los riesgos aparecen cortados y terminan en "2" o "^". Sin embargo en la base de datos están bien guardados. Creo que algo de esto es lo que hace que se cierre la aplicación, porque a veces en lugar de cerrar salta excepcion y no entiendo por que, puesto que lo unico que hago es consultar. A ver si alguien puede despejarme las dudas. |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Jue 29 Abr, 2004 11:43 pm Asunto: |
|
|
| Pues rarisimo, IBQ_SelRie al meterse en el while funciona bien, al ejecutarse el mismo while en otro formulario acto seguido, falla en el ultimo elemento (exactamente el mismo codigo). He borrado la Query, la he vuelto a crear (con las mismas propiedes) y ahora va bien. Eso si, ni idea de porqué. |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|