Bonjour,
j'ai une classe exception dans une dl:
et je teste ce truc dans une appli
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #ifdef __DLL__ #define IMPORT_EXPORT __declspec(dllexport) #else #define IMPORT_EXPORT __declspec(dllimport) #endif IMPORT_EXPORT class itExcept{ protected: std::string TypeError; public: itExcept(void); itExcept(const char *_detail); itExcept(const std::string & str); itExcept(itExcept &except); std::string detail; }; itExcept::itExcept(void){detail="";} itExcept::itExcept(const char *_detail) {detail=_detail;} itExcept::itExcept(const std::string & _detail) {detail=_detail;} itExcept::itExcept(itExcept & ex) {detail=ex.detail;}
au deuxi�me throw "acces violation" et
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 try{ try{ try{ throw itExcept("Tes"); } catch(itExcept &e) { ShowMessage(e.detail.c_str()); e.detail="TEST-----2"; throw e; } }catch(itExcept &e) { ShowMessage(e.detail.c_str()); e.detail="------------------------"; throw e; } }catch(itExcept &e) { ShowMessage(e.detail.c_str()); }
GETMEM.INC : mov ebx, TSmallBlockPoolHeader[edx].BlockType
Si je fait exactement la m�me chose sans utiliser la dll �a marche.
Si je ne modifie pas le e.detail dans le deuxi�me �a marche.
Si je modifie e.detail et que la chaine est plus petite que la pr�c�dente �a marche
j'utilise BDS2006
Quelq'un une id�e?
Partager