Delphi - El programa dejo de funcionar

   
Vista:

El programa dejo de funcionar

Publicado por Arshak (8 intervenciones) el 28/05/2012 21:33:29
Hola qué tal, estoy aprendiendo a programar en Delphi, en realidad no necesito saber programar, sino hacer los diagramas ya que el lenguaje Pascal lo utilizo únicamente para la Universidad.
El tema es que no me gusta para nada los diagramas, prefiero codificar, pero estoy con un problema que no me deja avanzar a archivos.dat
El problema es el siguiente: cuando creo un archivo .txt (de texto) no tengo ningún problema, siempre y cuando el archivo sea creado por el usuario, pero cuando quiero crear un nuevo archivo a partir de otro, por ejemplo un nuevo archivo actualizado, el programa .exe que crea el Delphi, al ejecutarlo tira el error de Windows: "(nombre del ejecutable) ha dejado de funcionar", lo mismo me pasa cuando creo archivos .dat (de datos) pero el problema también surge cuando el usuario es el que crea el archivo introduciendo datos, en este caso, el ejecutable funciona bien hasta que termina el programa, entonces pasan dos cosas: o aparece el error de Windows 7 el programa deja de funcionar, o crea un archivo con extensión .dat, pero vació.

P.D.: Es el primer post en este foro, espero que sea el lugar correcto para postear este tipo de temas, en caso contrario pido disculpas y voy a indagar más el foro que parece completo y útil.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

El programa dejo de funcionar

Publicado por E.T. (1106 intervenciones) el 28/05/2012 23:21:11
Casi siempre hay problemas con este sistema operativo, no digo que sean errores sino, politicas del sistema en si, pudiera ser que no tengas permisos de escritura en el disco, intenta ejecutar tu programa desde otra ubicación.
Y si pudieras ejecutar tu programa desde delphi, para ver que error está generando, o que linea de codigo lo genera sería de utilidad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

El programa dejo de funcionar

Publicado por Arshak (8 intervenciones) el 29/05/2012 01:06:05
Gracias por el comentario, te explico:

Cuando programo todo el código en Delphi, compila bien, no tira ningún error. Además, el código que estoy usando lo hizo uno de los profesores de la facultad.
Es probable que sea lo que comentas, acerca de los permisos, el programa lo ejecuto desde una carpeta común en el escritorio.
Lo raro es que en una máquina de la facultad, con windows xp y 32-bit (comento esto porque el delphi que uso es para 32-bits y mi maquina es de 64-bits) tengo exactamente el mismo problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

El programa dejo de funcionar

Publicado por E.T. (1106 intervenciones) el 29/05/2012 02:26:08
Puedes intentar con bloques try-except donde tu creas que se genera el error para ver que es exactamente lo que sucede, no creo que sea problemas de versiones pues yo he compilado en xp y ejecutado en 7 de 64 bits sin problemas.
Tambien puede ser la version de delphi que uses, puede que esté usando alguna funcion o api de windows que ya no esté soportada actualmente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

El programa dejo de funcionar

Publicado por Arshak (8 intervenciones) el 29/05/2012 02:32:40
Me gusta que den detalles de los errores posibles, muestra que conocen mucho del tema.

El problema que tengo no creo que sea muy complejo, o algo avanzado.

Son 2 ejercicios lo que hago: el primero consta de crear un programa el cual solicita al usuario que ingrese un legajo y 2 notas, al finalizar crea un archivo texto en el que aparece el legajo con su respectivo promedio. Hasta ahí corre perfecto el programa.

El segundo programa es un filtro del primero, no solicita nada al usuario, simplemente abre el primer archivo, luego lo recorre registro por registro y selecciona los registros con promedio mayor o igual a 6, luego crea un nuevo archivo texto con los legajos y promedios de los alumnos con promedio >=6.

El ejecutable deja de funcionar justo después de que crea el archivo.txt pero no lo llena de información.

Después adjunto unas fotos o la codificacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

El programa dejo de funcionar

Publicado por Arshak (8 intervenciones) el 01/06/2012 00:03:21
Me respondo a mí mismo, ya encontré la solución.

El problema era que el delhpi tenía un problema de reconocimiento de dos archivos .dll
Uno se llama bordbk100.dll y el otro bordbk100N.dll

Normalmente lo tiene que registrar (en el ordenador) cuando se instala el programa, pero por razones desconocidas (probablemente de la computadora que se usa, porque descargue el Delphi XE2 y tuve el mismo problema) los dos archivos no son registrados, entonces se tiene que hacer por método manual utilizar un ejecutable que viene en todos los windows y se encuentra en C:\Windows\System32\REGSVR32.exe (algo así) ese programita es justamente para manipular los archivos de la biblioteca (borrarlos, editarlos, renombrarlos, REGISTRARLOS). el regsvr32.exe se tiene que ejecutar desde cmd en modo administrador, al mismo tiempo cmd tiene que ser ejecutado desde la carpeta donde están los dos archivos .dll (una forma "bruta" es copiar el cmd en la carpeta de los dos .dll, que están en la carpeta de Delhpi, y abrirlo en modo administrador, la otra forma que no sé como se hace es cambiar la ruta de ejecución del cmd).

Hay varios manuales de cómo registrar los archivos, tanto en español como en inglés, tanto para Windows xp y anteriores, como para Windows Vista y posteriores.

Después de registrar los archivos hay que reiniciar la PC y rezar para que funcione. Antes de realizar el registro hay que cerrar todas las carpetas y programas (excepto el cmd obviamente).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar