Bonjour,

dans une classe associé à une fenêtre, je crée un pointeur privé sur un objet usb_comp:
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
class CTelUSBView : public CFormView
{
protected: // création à partir de la sérialisation uniquement
	CTelUSBView();
	DECLARE_DYNCREATE(CTelUSBView)
 
public:
	enum{ IDD = IDD_TELUSB_FORM };
 
// Attributs
public:
	CTelUSBDoc* GetDocument() const;
 
// Opérations
public:
 
// Substitutions
public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // Prise en charge de DDX/DDV
	virtual void OnInitialUpdate(); // premier appel après la construction
 
// Implémentation
public:
	virtual ~CTelUSBView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif
 
protected:
 
// Fonctions générées de la table des messages
protected:
	DECLARE_MESSAGE_MAP()
 
private:
	//Variable à sauvegarder dans le fichier.
	char Id_Tel;
	CBoutonArray Btn_Syst;
	CBoutonArray Btn_Video;
	CBoutonArray Btn_Son;
	CBoutonArray Btn_Expl;
	CBoutonArray Btn_Souris;
	CString ch_video;
	CString ch_audio;
	CString ch_explorateur;
	CFile F_Btn; //Sauvegarde du profil 
	bool mode_souris;
	usb_comp *TelUsb;
public:
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	long OnInitAlgo(WPARAM wparam,LPARAM lparam);
	void Tempo();
	void Serialize(CArchive& ar);
	afx_msg void OnFileSave();
	afx_msg void OnIdTel();
	afx_msg void OnApplicationSouris();
	afx_msg void OnDestroy();
	afx_msg void OnApplicationVideo();
	afx_msg void OnApplicationMusique();
	afx_msg void OnApplicationExplorateur();
};
Ce pointeur est initialisé à une valeur NULL et est initialisé dans oninitialupdate.
Dès que je connecte le périphérique USB associé, un pointeur contenu dans l'objet passe d'une valeur NULL à une addresse de périphérique.

Mon problème est une erreur de fermeture de l'application :
Quand le périphérique est déconnecté, pas de souci.
Quand celui-ci est connecté, le débogueur me signale qu'une fermeture d'objet n'a pas lieu au bon emplacement.

J'ai essayé de détruire l'objet usb_comp dans onClose, onDestroy, mais l'erreur survient avant l'exécution de l'erreur.

Avez-vous une suggestion?
Merci