PDA

Ver la Versión Completa : Error muy raro con ntdll.dll


moz_an
22-12-2010, 14:02:56
buenos dias, tengo un proyecto en delphi 6. anoche funcionaba perfectamente, hoy arranco y al ejecutar la aplicacion desde el delphi me da el error "La aplicacion no se ha podido inicializar correctamente (0xc0000235)", acepto el error, sigo con el run (F9) y me dice "Acces violation at address 7C92B21A in module ntdll.dll. write of address 00000010" y si continuo "Run time error 216 at 004042BE" y me tira del programa. Lo raro es que el ejecutable lo genera bien, me explico, si yo ejecuto el exe desde fuera de delphi, funciona a la perfeccion y si compilo el proyecto no me da ningun error. el problema esta al pulsar F9 en el delphi. A mi compañero le pasa lo mismo, en otro ordenador y compilando mi proyecto e incluso con otro proyecto que hacia meses que no tocaba. Usamos bd mysql con zeoslib. Y ya les digo ayer funcionaba perfecto y la primera vez que ejecuto hoy, no va. Da algun error en la unidad de GDIPOBJ. No encuentro ninguna solucion valida, espero me podais ayudar. Un saludo.

duilioisola
22-12-2010, 14:52:30
A mi me pasa. Utilizo Delphi 6.
La solución que he encontrado se resume en estos pasos:

Si tienes el componente de Base de Datos de las zeoslib conectado (supongo que será connected=True o Acrive=True), cerrarlo.
Cierro todas las ventanas abiertas en el editor (CTRL+F4)
Cierro Delphi
Borrar todos los DCU
Abro Delphi
Compilo


Creo que tiene que ver con dcu's que no vuelve a compilar porque detecta que no tienen cambios en los fuentes. El error me lo da al momento de linkar y es ahí donde no debe encontrar cosas que los fuentes dicen que están y la dcu no tiene. No se como hace esto el IDE de Delphi. Yo trabajo con los fuentes en un servidor samba, centralizados para hacer backups y compartir con otros programadores y veo que a veces la fecha de los fuentes no coincide con la de Windows de mi ordenador.

moz_an
22-12-2010, 14:54:19
A mi me pasa. Utilizo Delphi 6.
La solución que he encontrado se resume en estos pasos:

Si tienes el componente de Base de Datos de las zeoslib conectado (supongo que será connected=True o Acrive=True), cerrarlo.
Cierro todas las ventanas abiertas en el editor (CTRL+F4)
Cierro Delphi
Borrar todos los DCU
Abro Delphi
Compilo

Gracias por contestarme, voy a probar a ver.

Casimiro Notevi
22-12-2010, 14:55:20
Normalmente es porque se ha quedado "conectada" la base de datos cuando se compiló el exe.

moz_an
22-12-2010, 17:21:48
Sigue fallando, ademas no tenia ninguna conexion abierta. Seguire probando cosas. Gracias!!

Enan0
22-12-2010, 19:25:34
a mi me suele pasar con un proyecto muy grande que tengo la solucion es muy tonta y tediosa en mi caso, pero funciona.

Lo primero es Cerrar Delphi y volverlo a abrir, En vez de hacer un Run, Hacer un Build previamente, y viceversa,

si el problema persiste renicio el equipo y por esas cuestiones "magicas" (digo magicas ya que nunca entre en detalles de ver que pasa), sale funcionando.

se que es una explicacion poco tecnica, pero en mi caso es efectiva.

saludos

moz_an
22-12-2010, 20:08:44
a mi me suele pasar con un proyecto muy grande que tengo la solucion es muy tonta y tediosa en mi caso, pero funciona.

Lo primero es Cerrar Delphi y volverlo a abrir, En vez de hacer un Run, Hacer un Build previamente, y viceversa,

si el problema persiste renicio el equipo y por esas cuestiones "magicas" (digo magicas ya que nunca entre en detalles de ver que pasa), sale funcionando.

se que es una explicacion poco tecnica, pero en mi caso es efectiva.

saludos

Gracias por tu ayuda, supongo que si no es con "magia" no se soluciona. De la misma forma que ha aparecido, se tiene que ir. Este proyecto tambien es muy grande y entre la libreria rlink32.dll (que por suerte pude solucionar despues de años de sufrimiento) y ahora esto la verdad que pierdo un tiempo valioso pero bueno, ya estoy curado de espanto. desde hace mucho que no puedo debuggear dos datamodule que tengo y se supone que es por rebasar un nº de lineas demasiado elevado y he probado de todo y nada, asi que debuggeo con showmessages!! por eso, un problemilla mas pero bueno, a todo se adapta uno. Me toca compilar y ejecutar el exe desde fuera y ya esta, lo malo sera cuando tenga que buscar algun error...paciencia!! Saludos

sistem
23-12-2010, 22:28:07
yo tuve dicho problema pero al ejecutar el exe de un prorgrama que hice en otra PC. la solucion fue llevarme el ntdll.dll de la maquina que compilé y copiarla a la carpeta system32 de c:/windows

si en la carpeta que programaste esta el error, entonces actualiza dicho archivo de alguna PC mas reciente.

moz_an
05-01-2011, 14:30:04
No os lo vais a creer...todo el problema estaba en la funcion getstring de un componente que se llama Httpget. He comentado dicha funcion en todo el programa y ya compila y ejecuta... lo ha encontrado mi compañero, manda wevos!!!! lo raro es que dejó de funcionar de repente, de un dia para otro. como no fuese alguna libreria de windows xp o algo de eso no le encuentro logica. probaremos alguna version mas actual a ver si se subsana el error y si no, los sustituiremos por otros componentes. gracias por vuestra ayuda!