![]() |
Ayuda "urgente" UNDEFINED_EXCEPTION(C000041D)
Hola a todos, hace un mes instalé la versión 11 de Netcobol con PowerCobol y en principio todo ha ido bien, he recompilado todos las dll y se están ejecutando sin problemas.
Pero el ejecutable principal no lo había recompilado nunca en ésta versión (venía de la 9) Pues cual ha sido mi sorpresa que hoy tenía que tocarlo para una cosa y aunque compila perfectamente, al ejecutar ...... Código:
JMW0099I-U THE APPLICATION ERROR OCURRED.Otros ejecutables han funcionado perfectamente. Os leí aquí con un problema de la Api, he quitado todas las llamadas a la api y nada , no hay manera de ejecutarlo. Mil gracias de antemano. |
Voy averiguando cosas, el problema viene cada vez que hago un CALLFORM desde el programa a otra ventana, esté en ese proyecto o en otra dll. No puedo decir mas por ahora, iré poniendo mas datos.
|
@Nitzer, te genera el reporte? Si es el caso, pégalo aquí a ver qué contiene :piensa:
|
@Nitzer, parece ser que podría tratarse de un problema de comunicación con un controlador de hardware: windows 8.1 - What does the error message 0xC000041D mean? - Super User
Cita:
Si te ha generado el reporte, habría que buscar la dirección que menciona que es FAULT ADDRESS: 0X06C40690 Si hay suerte, podremos ver en qué punto está fallando exactamente. |
Me están restarando la máquina, para hacer pruebas, en cuanto tenga acceso os pego el reporte. MUCHISIMAS GRACIASSSSSSSSSSSSS
|
1 Archivos Adjunto(s)
el report:
|
@Nitzer, es lo que me temía un poco:
Código:
Exception Number : UNDEFINED_EXCEPTION(C000041D)Ahora, lo poco que podemos deducir de este reporte es que podría tratarse de un problema con el vsflex8l.ocx por lo siguiente: Código:
<<Stack Summary>>Haz lo siguiente: en el "Opened" le pones un DisplayMessage, compila y arranca el programa. Cuando salte el DisplayMessage (si es que lo hace), no le des a OK enseguida, espera unos cuantos segundos, 10 o por ahí. Si no peta en estos 10 segundos y lo hace sólo después de haberle dado a OK, entonces confirmaríamos que el problema no viene del código de tu programa sino es un componente que trabaja a nivel más bajo (ejemplo: instanciar el FlexGrid en el Form, cosa que hace sin nuestra intervención). Estoy casi seguro que será el caso, pero vendría bien comprobarlo. |
@Kuk, efectivamente, el problema viene por los componentes de componentone. En cuanto pongo uno en un formulario y éste lo compilo como exe, peta, si lo hago como dll no, eso es lo mas curioso.
Pero como bien dices el problema es ese, vsflex8l en éste caso. He estado hablando con Luis Martinez y me ha propuesto hacer una dll puente y que sea esa dll la que llame a todo, en vez de que lo haga el ejecutable. Otra opción es compilar el ejecutable con la 9 y el resto con la 11, tela marinera :) También le he pasado un ejemplo tonto , pero que da error a Julio Vazquez, que va a probar con otras versiones del ocx de vsflex. Muchas gracias a todos por la colaboración. |
@Nitzer, vale pues hemos acertado entonces.
Yo probaría primero a ver si hay veriones más reciendes del OCX. Si no es el caso o el comportamiento es el mismo, bajar a la versión 9 es lo último, yo creo. Lo que podrías hacer es crear un ejecutable tipo punto de entrada, que no tenga nada, y meter todo el funcional en una DLL que se cargaría en primer lugar. |
Hola de nuevo, he instalado la última versión de componenteone de prueba y parece que todo vuelve a la normalidad.
¿Casualidad o problema resuelto? Mucho me temo que el futuro que nos queda, es el del sufrimiento y la agonía con cualquier cambio :( |
@Nitzer, yo creo que la v11 de PowerCOBOL usa funciones modernizadas de alguna librería del sistema que no son compatibles con sus versiones anteriores. Tipo por ejemplo el OCX antiguo usa funciones de WinAPI con sufijo A y el Run-Time de PowerCOBOL v11 llamas las de sufijo W (es un ejemplo), y de ahí la explosión.
El nuevo OCX debe tener actualizada esta parte y es por eso que funciona. Así que para mi, casualidad ninguna, es La solución ;) |
Al final, creo que he hecho lo mas razonable, he comprado la última versión de ComponentOne.
En principio no tengo que recompilar ni nada, tan solo sustituir los ocx, ni siquiera he visto que sea necesario registrar los nuevos. Gracias a todos y especialmente a @Kuk, nuestro amado lider :) |
@Nitzer, creo que has hecho lo correcto amigo Andrés, es La solución a mi modo de ver, y me alegro de que se haya resuelto el problema :amigo: :bien:
|
Siento deciros que la actualización no ha salido del todo bien, si bien parecía que todo era perfecto, los controles empiezan a hacer cosas raras, pero eso no es lo peor.
En modo desarrollo, hay veces que el control deja de 0bedecer y no se puede acceder a él y eso si que da miendo. Voy a recapacitar un poco, pero creo que antes de "morir" voy a intentar volver a la versión 9 de cobol y a los antiguos controles. |
Joer que mal @Nitzer, y más después de haber pagado una pasta por la nueva versión de los controles ...
Un salu2.- |
Cita:
Aunque curiosamente estoy trabajando con versiones que no son las compradas :) Versión de Windows, versión de Netcobol, versión de ocx, todo esto mezclado puede causar estropicios importantes :), por eso mejor quedarse con lo que funciona y no tocar mucho, ya que nadie va a actualizar nada para que todo el tinglado siga funcionando. Situación actual: -Windows 11 -Netocobl 9 -Versión anterior de ComponentOne y de DBI.Tech con este cocktail todo fluye :) |
| La franja horaria es GMT +2. Ahora son las 04:57. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.