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 :

Instanciation dynamique d'ActiveX


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 62
    Par défaut Instanciation dynamique d'ActiveX
    Salut!

    Voilà j'ai un OCX de créé et je voudrais savoir comment je peux faire pour l'instancier dynamiquement, et d'accèder à ces méthodes!

    Merci !!!

    Cathar_Rhythm ->

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    MFC ? Win32 ?

    tu peux aller voir du coté de OleInitialize ou bien de CoInitializeEx

  3. #3
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 62
    Par défaut
    C'est un OCX MFC qui sera appelé dans une appli MFC

    Cayhar_rhythm ->

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    le wrapper de classe généré pour l'ocx contient une methode create .
    c'est cette methode qu'il fau utiliser pour activer graphiquement l'activex.

  5. #5
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 62
    Par défaut
    D'accord pour l'afficher, mais pour l'instancier je fais comment? Comme une classe normale?

    Cathar_Rhythm ->

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    ben oui ,c'est un objet comme un autre avant tout ...

  7. #7
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 62
    Par défaut
    Est-ce que c'est le même fonctionnement que lorsque l'on fait appel à une Dll?

    CAD je donne à mon appli les chemin des .h , .lib et l'ocx dans le repertoire Debug ???

    Cathar_Rhythm

  8. #8
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par cathar_rhythm
    Est-ce que c'est le même fonctionnement que lorsque l'on fait appel à une Dll?

    CAD je donne à mon appli les chemin des .h , .lib et l'ocx dans le repertoire Debug ???

    Cathar_Rhythm
    hum je ne suis pas sur de bien comprendre,
    un ocx est enregistré au niveau du systeme dans la base de registre ,un dll non (pour les dll classiques).
    dans le projet MFC lorsque l'on rajoute l'ocx des wrapper de classes sont générés directement dans le projet pour manipuler l'ocx.
    pour l'utilisation de ta DLL il faut que les chemins de recherches spécifiés dans visual soient renseignés, du moins en ce qui concerne le .lib et le .h
    la .dll doit etre dans le chemin de recherche windows ou dans le répertoire d'execution.

    voir aussi faq:
    http://c.developpez.com/faq/vc/?page=DLL#MakeDynDll



  9. #9
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 62
    Par défaut
    OK je saisie la difference!

    Mais j'ai de gros pb de compréhension sur mon pb!!!
    J'ai bien vu le wrapper qui à été créé, mais je n'ai pas accès à mes methodes via celui-ci!

    Voici ce que je voudrais faire, j'ai une ihm, et avec un bouton externe à mon OCX je voudrais appeler la méthode "Ajouter" qui elle est interne à mon OCX.

    Au stade ou j'en suis , je n'est pas encore essayé d'instancier mon ocxw dynamiquement, je les inséré dans ma boite dialogue. Mais je n'arrive pas à avoir accès auxmethodes mon OCX.

    Pour l'heure le plus urgent c'est d'accéder à ces methodes. J'ai créé une varible de control sur mon OCX, et des fichier .h et .cpp se sont créé, à quoi ils servent???? Et dans ces fichier rien ne référence mon OCX!!!

    Cathar_Rhythm ->

  10. #10
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 62
    Par défaut
    Merci beaucoup pour vos conseil!!!

    J'ai réussi à instancier dynamiquement mon OCX!!!!
    Par y a encore un pt bug!

    J'ai une erreur de link (LNK2019) sur la methode de mon ocx que je veux utiliser.
    Est ce qu'il y a besoin d'autoriser ma methode à être être externe?
    Sachant que j'ai modifiée le .idl et le DISPATCH_MAP de mon ocx, et que je l'ai testé avec l'"ActiveX Test Control Container" et qu'il marche!


    Cathar_Rhythm ->

  11. #11
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par cathar_rhythm
    Merci beaucoup pour vos conseil!!!

    J'ai réussi à instancier dynamiquement mon OCX!!!!
    Par y a encore un pt bug!

    J'ai une erreur de link (LNK2019) sur la methode de mon ocx que je veux utiliser.
    Est ce qu'il y a besoin d'autoriser ma methode à être être externe?
    Sachant que j'ai modifiée le .idl et le DISPATCH_MAP de mon ocx, et que je l'ai testé avec l'"ActiveX Test Control Container" et qu'il marche!


    Cathar_Rhythm ->
    le fichier .odl non ?
    hum c'est pas trop recommandé de toucher a ces fichiers vu qu'ils sont générés automatiquement et maintenus a jour par le projet .
    c''st quoi le pb du link ?
    la fonction existe ? etc ..

  12. #12
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 62
    Par défaut
    oui oui la fonction existe, puis que je l'ai testée sur le test control container

    En fait j'ai l'impression que mon appli ne trouve les fonctions que mon ocx à besoin pour vivre! (je fais appel à plusieures Dll), mais j'ai tous renseignés!!!


    Cathar_Rhythm ->

  13. #13
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    ça veut peut etre dire que ton wrapper de classe n'est pas a jour .

    tu as regardé si la methode etait definit dans la classe générée pour l'ocx ?

    a chaque fois que l'on rajoute une proprieté a un ocx ,il faut relancer le processus d'integration de l'ocx dans le projet utilisateur de l'ocx comme si c'etait la premiere fois.
    'ide regenerant alors les classes wrapper associées.

    si c'est pas ça le pb ,essaye d'être plus precis dans la description du pb.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [c# 2.0] Instanciation dynamique de classe
    Par Arthis dans le forum ASP.NET
    Réponses: 3
    Dernier message: 10/10/2006, 18h03
  2. Instanciation dynamique d'un tableau
    Par polo54 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 08/06/2006, 10h37
  3. Réponses: 16
    Dernier message: 24/04/2006, 21h47
  4. Instanciation dynamique
    Par yon386 dans le forum C++
    Réponses: 5
    Dernier message: 15/02/2006, 21h32
  5. [VB.NET] instanciation dynamique
    Par lucie.houel dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/11/2005, 12h54

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