Hallo,
wer kann helfen ?
Ich entwickle eine Anwendung für PocketPC 2003 mit eMbedded Visual C++ 4.0 und benutze dazu eine dll,
die mir u.a. eine Funktion zum Öffnen von Karten (*.shp) und Orthophotos (georeferenziertes *.JPG) zur Verfügung stellt.
Beim Testen hat sich herausgestellt, dass es beim Öffnen von JPGs im Debugger zu folgender Meldung kommt:
First-change exception in <meineAnwendung>.exe: 0xC0000005: Acess Violation
Die Exception tritt an der Stelle auf, an der über die Adresse der Funktion in der Dll, diese Funktion aufgerufen wird:
bool CGeoPADCtrl::GeoPAD1(BSTR filePath)
{
bool (PASCAL *fun1)(BSTR FilePath);
//GetProgAddress liefert Adresse der Funktion in der DLL
(FARPROC&)fun1 = GetProcAddress(hInstasnce,_T("GeoPAD1"));
//Wenn Adresse zurückkommt
if(fun1)
//Ausführen der Funktion in der DLL
return fun1(filePath); <-- hier tritt die Exception auf
//ansonsten Rückgabe von false, d.h. Karte nicht geladen
return false;
}
Kann mir jemand sagen, was der Grund für eine solche Exception sein kann ?
Liegt der Fehler innerhalb der DLL und wenn ja, wie kann ich den dann beheben ?
Bitte antwortet schnell, freue mich über jeden Tipp !
Sandra
wer kann helfen ?
Ich entwickle eine Anwendung für PocketPC 2003 mit eMbedded Visual C++ 4.0 und benutze dazu eine dll,
die mir u.a. eine Funktion zum Öffnen von Karten (*.shp) und Orthophotos (georeferenziertes *.JPG) zur Verfügung stellt.
Beim Testen hat sich herausgestellt, dass es beim Öffnen von JPGs im Debugger zu folgender Meldung kommt:
First-change exception in <meineAnwendung>.exe: 0xC0000005: Acess Violation
Die Exception tritt an der Stelle auf, an der über die Adresse der Funktion in der Dll, diese Funktion aufgerufen wird:
bool CGeoPADCtrl::GeoPAD1(BSTR filePath)
{
bool (PASCAL *fun1)(BSTR FilePath);
//GetProgAddress liefert Adresse der Funktion in der DLL
(FARPROC&)fun1 = GetProcAddress(hInstasnce,_T("GeoPAD1"));
//Wenn Adresse zurückkommt
if(fun1)
//Ausführen der Funktion in der DLL
return fun1(filePath); <-- hier tritt die Exception auf
//ansonsten Rückgabe von false, d.h. Karte nicht geladen
return false;
}
Kann mir jemand sagen, was der Grund für eine solche Exception sein kann ?
Liegt der Fehler innerhalb der DLL und wenn ja, wie kann ich den dann beheben ?
Bitte antwortet schnell, freue mich über jeden Tipp !
Sandra