Buongiorno a tutti
Di nuovo uno di quei problemi incomprensibii
Ho un applicativo sviluppato in VB.Net che, per comunicare con un determinato dispositivo, esegue delle chiamate API alla relativa DLL.
L'applicativo, viene compilato in "x86" e viene eseguito sia su macchine x86 che x64.
La chiamata alla funzione API ha sempre funzionato correttamente...compilata con VS2005 e Framework2.0 oppure con VS2010 e Framework 3.0.
Adesso, quando cerco di compilarla con VS2010 e Framework 4.0, funziona correttamente se utilizzo il "Debug" di visualstudio mentre se eseguo il file ".exe" (Debug o Release non cambia) compilato dallo stesso Visual Studio, la funzione mi genera un errore.
Ho provato anche a modificare la chiamata alla DLL da "Declare Function" a "DllImport" impostando "CallingConvention:=CallingConvention.Cdecl" ma il problema non si risolve. (La CallingConvention č corretta a "Cdecl" in quanto tutte le altre chiamate API funzionano)
L'errore generato č il seguente:
Nome evento problema: APPCRASH
Nome applicazione: xxxx.exe
Versione applicazione: 4.0.0.0
Timestamp applicazione: 55361b6e
Nome modulo con errori: ntdll.dll
Versione modulo con errori: 6.3.9600.17031
Timestamp modulo con errori: 5308893d
Codice eccezione: c0000005
Offset eccezione: 00041619
Versione SO: 6.3.9600.2.0.0.256.48
ID impostazioni locali: 1040
Informazioni aggiuntive 1: 5861
Ulteriori informazioni 2: 5861822e1919d7c014bbb064c64908b2
Ulteriori informazioni 3: bb02
Ulteriori informazioni 4: bb02c3b29c3f075104f1d0629e885cfc
Ho provato ad eseguire l'exe compilato con il framework 3.0 sulla stessa macchina e funziona correttamente...non sembra nč un problema di computer (lo fa anche su altri) nč di sistema operativo.
Qualcuno ha qualche idea di come risolvere o debuggare il problema?
Grazie mille