Tengo una función comercial de JD Edwards, que está escrita en Microsoft Visual C++ como un módulo C. Estoy usando LoadLibrary para acceder a una DLL de terceros. En un programa de prueba independiente, el código funciona bien. Cuando lo ejecuto desde JDE, LoadLibrary devuelve NULL y GetLastError devuelve 126, lo que significa The specified module could not be found
según MSDN. Intenté poner la ruta completa a la DLL, y sí, me he acordado de duplicar los caracteres en la ruta. Ninguna diferencia.¿Qué podría evitar que una DLL se cargue con LoadLibrary?
He comprobado que no haya dependencias que impidan que se cargue la DLL; DUMPBIN/DEPENDIENTES devuelve lo siguiente:
WSOCK32.dll
USER32.dll
GDI32.dll
WINSPOOL.DRV
ADVAPI32.dll
KERNEL32.dll
Estas parecen DLL estándar de Windows, así que estoy en una pérdida.
Ha pasado mucho tiempo desde que lo necesitaba, me olvidé por completo de Dependency Walker. Dice que me falta una DLL cargada de retraso dwmapi.dll, que entiendo es solo Vista. No creo que ese sea el problema, pero gracias por el puntero. –
¿Qué hay de mover el dll a una carpeta que está en su camino como% windir% \ system32? –