Bonjour,

j'ai un ptit souci à l'exécution de mon appli développée en c++ sous VS2005

Voilà ce que j'ai et d'où je soupçonne que vienne le pb :

dans le .h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
class MaClasse
{
public:
    STDMETHOD (SetName) (LPWSTR Name);
 
protected:
    LPWSTR m_Name;
}
dans le .ccp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SDTMETHODIMP Maclasse::SetName(LPWSTR Name)
{
    m_Name = Name;
    return S_OK;
}
et pour l'utilisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
MaMathode(ClasseParam param)
{
    MaClasse toto;
    LPWSTR nom(NULL);
    size_t convertedChars = 0;
    HRESULT Result;
 
    NewsSTR(L"",&nom);
    mbstowcs_s(&convertedChars, nom, strlen(param.Nom) + 1, param.Nom, 18);    // param.Nom étant de type TCHAR[17]
    Result = toto.SetName(nom);
    CoTaskMemFree(nom);
}

Et donc, voilà
ça compile très bien,
mais à l'exécution, ça pète de n'importe où
jamais au même endroit...
(un truc du genre 'violation d'accès de la lecture...')

et donc, je soupçonne que ça vienne du mbstowcs_s, car si je le mets en commentaire, bah, ça va...

je suppose que je m'y prends mal,
mais comment dois-je faire??

Merci