Possiedo una funzione aziendale JD Edwards, scritta in Microsoft Visual C++ come modulo C. Sto usando LoadLibrary per accedere a una DLL di terze parti. In un programma di test indipendente, il codice viene eseguito correttamente. Quando lo eseguo da JDE, LoadLibrary restituisce NULL e GetLastError restituisce 126, che significa The specified module could not be found
in base a MSDN. Ho provato a inserire il percorso completo della DLL, e sì mi sono ricordato di raddoppiare i \ caratteri nel percorso. Nessuna differenza.Cosa potrebbe impedire il caricamento di una DLL con LoadLibrary?
Ho verificato che non ci siano dipendenze che impediscano il caricamento della DLL; DUMPBIN/A CARICO restituisce il seguente:
WSOCK32.dll
USER32.dll
GDI32.dll
WINSPOOL.DRV
ADVAPI32.dll
KERNEL32.dll
Questi sembrano DLL standard di Windows, quindi sono in perdita.
È passato molto tempo da quando ne avevo bisogno, mi sono completamente dimenticato di Dependency Walker. Dice che mi manca una DLL caricata in ritardo dwmapi.dll, che capisco solo Vista. Non penso sia questo il problema, ma grazie per il puntatore. –
Che ne dici di spostare la DLL in una cartella sul tuo percorso come% windir% \ system32? –