Bonjour,
Je souhaite g�rer l'ouverture d'un fenetre afin qu'elle ne puisse s'ouvrir deux fois.
Pour cela j'utilise un singleton qui permet de retourner une instance toujours unique.
Le probl�me est lors de la fermeture de cette fen�tre je ne parviens pas a remettre le pointeur vers la fen�tre a nullptr;
Pour cela j'ai tent� plusieurs solution :
La premi�re �tait avec une r�f�rence du pointeur, mais �a n'as rien chang� au probl�me.
J'ai donc tent� en deuxi�me temps de passer un pointeur vers le pointeur du singleton.
Cela donne �a :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 ui_newUser^ objSession::getNewUser() { if(formUser == nullptr) { ui_newUser^ tmpPt = gcnew ui_newUser(); objSession::killNewUser(); tmpPt->definePt(&tmpPt); formUser = tmpPt; } return formUser; }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 void definePt(ui_newUser^* ptSingle) { ptSingleton = ptSingle; }Le probl�me est que lors de la mise a nullprt de l'indirection de ptSingleton l'application plante et me donne le message suivant :
Code : S�lectionner tout - Visualiser dans une fen�tre � part *ptSingleton = nullptr;
j'ai pens� que �a pouvais venir du fait que le pointeur de singleton est en priv�, j'ai donc pour test� (m�me si �a fait perdre tout le sens du singleton) de mettre le pointeur en publique, le r�sultat est le m�me.Une exception non g�r�e du type 'System.AccessViolationException' s'est produite dans Module inconnu.
Informations suppl�mentaires : Tentative de lecture ou d'�criture de m�moire prot�g�e. Cela indique souvent qu'une autre m�moire est endommag�e.
Si l'un de vous a une id�e qui pourrait me sauver �a serait pas de refut.
Merci d'avance.
Partager