Stack overflow un peu bizarre....

Stack overflow un peu bizarre.... - C++ - Programmation

Marsh Posté le 24-05-2005 à 11:32:54    

           Mesdames et messieurs, bonjour,
 
    Petit problème en C++ : Voilà, j'ai une DLL qui contient plusieurs interfaces COM. Cette DLL me génère mon fichier .tlb que j'importe dans mon appli, le crée une instance de mon interface et j'appelle les fonctions de celle-ci. Jusque là, pas de problème.
    C'est là que ça se complique : Toutes mes fonctions sont accessibles et le code se déroule convenablement à part dans une seule ou j'ai un stack overflow à l'entrée de celle-ci :
 
coté DLL :

Code :
  1. // Selection d'une Interface : chargement du script correspondant
  2. STDMETHODIMP CMoteur::SetInterface(BSTR bstrNomInterface, int iDefAppareil)
  3. {
  4. ...
  5. }


 
coté appli :

Code :
  1. void CMainFrame::OnButtonTest()
  2. {
  3. if (m_wndView.m_pEngine)
  4. {
  5.  CString csTemp = "Toto";
  6.  m_wndView.m_pEngine->SetInterface(csTemp.AllocSysString(), 1);
  7. }
  8. }


 
le dépassement de pile se produit à l'entrée de la fonction, c'est à dire pas sur une instruction mais carrément sur l'accolade ouvrante !
 
Cette fonction n'est pas appelée de façon récursive dans mon appli, et c'est la seule qui me pose ce problème. J'ai changer le nom, pas mieux, modifier le nombre de params, pas mieux non plus.
Si quelqu"un à déja vu se genre de problème, je suis très très preneur !
 
 
DLL et appli développé sous Visual Studio 6.0 SP6.


---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
Reply

Marsh Posté le 24-05-2005 à 11:32:54   

Reply

Marsh Posté le 24-05-2005 à 12:32:25    

t'as du corrompre ta pile

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed