IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] erreur bizar a cause d'un activeX


Sujet :

MFC

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut [MFC] erreur bizar a cause d'un activeX
    Lut tt le monde

    J'ai une erreur que je n'ai jamais eu et que je trouve assez bizar. J'ai créé un activeX en C++. Quand je teste celui ci dans l'ActiveX Control Test Container, il n'y aucun problème . De même quand j'utilise l'activeX dans une page html.
    Mais alors quand je le mets dans un programme C++, il y a un soucis. Le programme C++ n'a rien d'autre que l'activeX et est basé sur le Dialog Based. Le programme démarre bien, j'arrive à utiliser l'activeX sans problème mais c'est quand je quitte l'applic que la j'ai cette erreur ci :

    Exception non gérée à 0x01396cce dans testActiveXMB.exe:0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x02725d6c.
    Et bloque dans cette fonction ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void __cdecl _unlock (
            int locknum
            )
    {
            /*
             * leave the critical section.
             */
            LeaveCriticalSection( _locktable[locknum].lock );
    }
    -> Fonction qui n'est pas à moi et qui est dans le fichier mlock.c

    Je ne sais pas d'ou ca peut venir vu que ca ne se passe que dans mon applic C++.

  2. #2
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    tu l'à faite en sous VC to ActiveX ?

    Sinon CriticalSection ça ressemble à un problême de thread ?

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Je l'ai fait sous Visual .NET en C++, oui je pense aussi que c'est un probleme de thread. Mais dans l'applic conteneur je n'en cree pas. Dans l'activeX je n'en cree pas mais doit y en avoir pleins quand même car j'utlise une dll d'un "vendeur".
    Pour moi le probleme vient du cote conteneur C++, vu que en html aucun prob. Hélas je vois pas comment le résoudre :-(

  4. #4
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    essaye un avant la création de ton ActiveX...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 91
    Points : 47
    Points
    47
    Par défaut
    Il me semble avoir eu un probleme comme ca....

    Tu libere bien ton activeX en partant ?

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    J'ai laissé mon bouton Ok comme il était à la création de mon applic. Donc je n'ai rien ajouté, je suppose qu'il ferme correctement mon activeX

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 91
    Points : 47
    Points
    47
    Par défaut
    Essaye de faire un release de ton activeX..... C'est peut etre ca qui bloque....

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Si ce n'est pas un pointeur, il est pas utile de faire un release car il sera sup automatiquement à la fermeture de mon applic.
    D'ailleurs quand je suis en debug, je passe bien par mon destructeur de l'activeX...

  9. #9
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    excuse moi d'insister, mais tu a essayé le ::CoInitialize()

  10. #10
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Oups je pensais avoir repondu, oui je l'ai mis à l'entrée de constructeur et cela n'a rien changé. Je vois vraiment pas ou chercher??? Mais pq en html j'ai pas le problème, c'est assez bizar

  11. #11
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    alors essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ::CoInitializeEx(NULL,COINIT_MULTITHREADED );
    avec : dans le .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #define _WIN32_DCOM
    #include "objbase.h"

  12. #12
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Non matazz ca fonctionne po:-( c'est bien dans le constructeur de l'activeX qu'il faut mettre le CoInitialize

    N'y a t'il pas moyen de faire comme la page htm??? Catcher l'erreur ??

  13. #13
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Salut, je rattaque avec ce post car je suis retourne sur ce projet et d'ailleurs g trouve quelque chose pour faire avancer.

    Mon erreur finalement ne se fait que lorsque je suis en mode debug de .Net, car si je lance direct mon exe la g pas l'erreur. L'erreur ne vient donc que quand je ferme proprement mon applic et la le debugeur trouve une erreur. Serait il possible de desactiver quelque chose sous .Net pour qu'il ne fasse plus cette erreur.

    Pitch

Discussions similaires

  1. [MFC] erreur de compilation
    Par moulefrite dans le forum MFC
    Réponses: 3
    Dernier message: 03/05/2006, 15h26
  2. Réponses: 2
    Dernier message: 31/01/2006, 14h31
  3. [MFC] erreur sans le winmain
    Par r0d dans le forum MFC
    Réponses: 5
    Dernier message: 27/01/2006, 10h17
  4. [MFC] Erreur mémoire
    Par leMehdi dans le forum MFC
    Réponses: 8
    Dernier message: 26/01/2006, 16h09
  5. Erreur pango a cause du package GTK 2.9.8
    Par titor dans le forum GTK+
    Réponses: 5
    Dernier message: 07/01/2006, 19h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo