Ver la Versión Completa : [Compilador] Ayuda "urgente" UNDEFINED_EXCEPTION(C000041D)
Nitzer
13 de abril de 2023, 19:49
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 ......
JMW0099I-U THE APPLICATION ERROR OCURRED.
FAULTING APPLICATION: U:\UNICA\WIN\UNICAGES.EXE'
FAULTING MODULE: UNKNOWN'
FAULT ADDRESS: 0X06C40690
EXCEPTION CODE: UNDEFINED_EXCEPTION(C000041D)
Si alguien es capaz de ayudarme, estaré eternamente agradecido.
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.
Nitzer
13 de abril de 2023, 20:14
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.
Kuk
13 de abril de 2023, 21:46
@Nitzer, te genera el reporte? Si es el caso, pégalo aquí a ver qué contiene :piensa:
Kuk
13 de abril de 2023, 21:50
@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 (https://superuser.com/questions/869526/what-does-the-error-message-0xc000041d-mean)
NTSTATUS
The definition name (MessageId) is STATUS_FATAL_USER_CALLBACK_EXCEPTION and its description is:
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.
Nitzer
14 de abril de 2023, 09:07
Me están restarando la máquina, para hacer pruebas, en cuanto tenga acceso os pego el reporte. MUCHISIMAS GRACIASSSSSSSSSSSSS
Nitzer
14 de abril de 2023, 10:05
el report:
Kuk
14 de abril de 2023, 12:19
@Nitzer, es lo que me temía un poco:
Exception Number : UNDEFINED_EXCEPTION(C000041D)
Generation Time : 04/14/2023(10:00:37)
Generation Module : UNKNOWN <-----------
Time Stamp : UNKNOWN <-----------
File Size : UNKNOWN <-----------
Esto de Unknown quiere decir que el problema viene de más abajo del Run-Time...
Ahora, lo poco que podemos deducir de este reporte es que podría tratarse de un problema con el vsflex8l.ocx por lo siguiente:
<<Stack Summary>>
FramePtr RetAddr Param-01 Param-02 Param-03 Param-04 Param-05 Param-06 Param-07 Param-08 Module:Program
0019B574 76093086 07B848C7 00000081 0019B760 00000000 00000000 00780065 006F002E 00000000 Address:07C90718
0019B66C 76092B0A 07B848C7 00000081 0019B760 00000001 00000000 00780065 006F002E 00000000 USER32.dll:CallWindowProcW
0019B6D0 7609EB55 018B62E0 00000081 0019B760 0000C230 00000000 52455355 00006C6C 0351E620 USER32.dll:CallWindowProcW
0019B718 7786870D 0019B734 0019BFEC 0019B7A0 00000000 00000000 52455355 00006C6C 0351E620 USER32.dll:OffsetRect
0019BA7C 76095F7A 00000000 00000000 00000429 0003059E 00000000 52455355 00006C6C 0351E618 ntdll.dll:KiUserCallbackDispatcher
0019BB5C 76105528 00000000 00000000 00000429 0003059E 00000000 6C64746E 0000006C 0351E638 USER32.dll:IsWindowInDestroy
0019BB9C 07B849C8 00000000 00000000 00000000 00000429 00000000 52455355 00006C6C 0351E628 USER32.dll:CreateWindowExA
0019BBD8 07B8140A 0003059E 00000000 00000000 0000C230 00000000 52455355 00006C6C 0351E620 vsflex8l.ocx:DllUnregisterServer
0019BC70 07B840EF FFFFFFFB 06FC1358 07B834E1 00000000 00000000 6C667376 78636F2E 0351E628 vsflex8l.ocx:DllUnregisterServer
0019BC94 07B813C2 07C90748 00000000 00000000 00000000 00000000 6C667376 78636F2E 0351E628 vsflex8l.ocx:DllUnregisterServer
0019BCB8 01184A8E 07C90748 00000000 00000000 00000000 00000000 6C667376 78636F2E 0351E628 vsflex8l.ocx:DllUnregisterServer
0019BD34 01184B3A 06FC1358 00000000 00D7B49E 06FC13C4 00000000 6C667376 78636F2E 0351E628 f5ddka41.dll:?mDoObjectVerb@CKaItem@@QAGJJPAUtagMS G@@PAUIOleClientSite@@@Z
0019BD60 00D71DA7 06FC1358 00000001 00030181 00D71E3B 00000000 64643566 6C6C642E 0351E678 f5ddka41.dll:?mInPlaceActivateObject@CKaItem@@QAGJ PAUIOleClientSite@@@Z
07018D68 07018D74 00000000 07018D68 00000003 00DF35F4 00000000 64643566 6C6C642E 0351E678 f5ddcy41.dll:??0SLParam@OCfGroup@@QAE@PAV1@@Z
El f5ddka41.dll es el famoso "Kakita system" del que nos hemos reído hace unos años por su nombre que viene a ser la capa base del Run-Time.
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.
Nitzer
14 de abril de 2023, 13:10
@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.
Kuk
14 de abril de 2023, 13:52
@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.
Nitzer
14 de abril de 2023, 16:25
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 :(
Kuk
14 de abril de 2023, 22:56
@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 ;)
Nitzer
17 de abril de 2023, 16:32
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 :)
Kuk
18 de abril de 2023, 10:29
@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:
Nitzer
24 de abril de 2023, 10:33
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.
Josber
24 de abril de 2023, 10:56
Joer que mal @Nitzer, y más después de haber pagado una pasta por la nueva versión de los controles ...
Un salu2.-
Nitzer
24 de abril de 2023, 12:33
Joer que mal @Nitzer, y más después de haber pagado una pasta por la nueva versión de los controles ...
Un salu2.-
Bueno, ahora por lo menos puedo decir que todo lo tengo legal :), no me gusta trabajar con cosas que no lo son.
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 :)
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.