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

VB 6 et antérieur Discussion :

Le Controle ActiveX n'arrive pas a créer l'objet.


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut Le Controle ActiveX n'arrive pas a créer l'objet.
    Bonjour, afin de mettre en application tous ce que j'ai pû apprendre dans mon post précédent sur les Modules et Classes de Modules... Je les ai appliquées directement a mon projet que je reprends de Zero.

    Cependant J'ai quelque objets dans mon projet

    Une Form avec mon OCX (car cela est dans le cadre de developpement d'un OCX) ca c'est dans mon projet de TEST.

    Sinon dans mon projet de developpement de mon OCX j'ai :
    • Le UserControl 'Dosiview'
    • Une Classe 'VolumeRenderClass'
    • Un Module 'RenduVolumique'


    J'ai developpé mes fonctions de bas niveau dans mon module, deux fonctions OuvertureD qui prend pour arguments le chemin des images, la definition de l'image sur les 3Dimensions et la resolution spaciale sur les trois dimensions.
    Elle me retourne un Objet de Type VtkImageShiftScale (du même type que l'argument de la fonction de rendu de volume.

    La seconde fonction est Voluming qui prend pour argument un objet de type vtkImageShiftScale et me retourne un vtkVolume.

    Dans ma Classe j'ai une Procédure qui prend comme argument les mêmes que la fonction OuvertureD et qui appelle les deux fonctions decrites ci-dessus, qui ensuite rend le volume dans l'objet principal de l'OCX la RenderWindow.

    Dans l'evenement du clic du bouton present dans ma Form : je fais!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Command1_Click()
     
    Dim TestOuverture As New VolumeRenderClass
     
     
    TestOuverture.Ouverture "C:\Documents and Settings\francois laillier\Desktop\vtkdata-5.0.3\Data\headsq\quarter", 64, 64, 93, 200, 200, 150
     
    End Sub
    Et il me retourne comme Erreur : "ActiveX Component Cant Create Object" En surlignant la ligne TestOuverture.Ouverture....


    Alors pour voir si je n'avais pas une erreur dans mon code j'ai tout simplement mis ma procédure Ouverture dans mon Usercontrol. Et lorsque j'appel cette procédure ca fonctionne bien....

    Quelqu'un a des idées ai-je oublié quelque chose?

    Alors j'ai lu que l'erreur 429 parlait de Clé.. J'utilise Activiz, mais j'ai bien entré la clé du fabriquant il y a environs 3Mois...

    Mon projet était sur un disque Reseau, pensant que ca pouvait venir de ca, j'ai copier le dossier du projet mais j'execute en local mais il y a Toujours la meme Erreur.

    Cordialement

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Certains fabricants de composants mettent des protections assez vicieuceuse qui empechent d'utiliser leur composants comme élément constitutifs d'un autre composant .
    C'est peut être le cas ici
    Essayes dans les propriétés du projet, de modifier le modèle de thread, ca pourrait être çà aussi.

  3. #3
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    J'ai essayer de passer en Single Thread ou Apartenent Thread.

    Je ne pense pas que le contstructeur nous empeche de faire un OCX, car j'en est fait un plus ou moins "crachou".

    C'est apparement lorsque je passe par des classes que ca ne va plus. La doc de l'erreur 429 me dit que peut etre :The class isn't registered.

    Comment la mettre a jour dans la base de registre... Est ce que ca peut etre ca. J'ai fait un cliquer Glisser sur mon regsvr32. Mais ca ne va pas.

    J'ai une question juste pour m'orienter pour le debugage. Est ce qu'une erreur comme par exemple mettre un Objet utilisable dans ma classe en Private au Lieu de Public peut engendré ce genre d'erreur... Enfin je pense que le code Erreur serait différent..

    Merci de votre attention.


    J'ai essayer ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim TestOuverture as ActiveX_V1.VolumeRenderClass
    Set TestOuverture = New ActiveX_V1.VolumeRenderClass
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim TestOuverture as VolumeRenderClass
    Set TestOuverture= New VolumeRenderClass

  4. #4
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Pour le debbug d'un composant , on Ajoute un nouveau projet au projet en cours, et tu y places une occurence du composant ne cours de developpement. Tu pourras ansi tracer dans les deux projets simulanément.

  5. #5
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Ba c'est ce que j'ai fait je pense....
    AHHHHHHHHH NON.... Moi je fait un executable auquel j'ajoute un control... que je mets sur le projet...

    Et ce qu'il y a grande différence?

    Sinon J'ai bien un projet 'Control ActiveX' ou je develope mes Classe, module etc
    Et j'ai un projet que j'appel Prgm_Test ou je mets mon control a l'épreuve.

    Je Run Toujours en PAS a PAS. Mais avec le projet J'initialise bien mon control et des que j'appel la procédure qu'il y a dans ma classe j'ai l'erreur 429.

  6. #6
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    CA Viens de passage par la Classe. Je viens de passer par mon Control avec la meme procédure ca fonctionne nickel.

    Je dois mal appeler ma classe...


    Ne faut-t-il pas que je passe par CreateObject plutot que par un simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Test as Projet.Class
    Set Test = New Projet.Class

  7. #7
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    J'ai peut etre une piste, J'ai lu dans la FAQ vba que lorsque l'outil de backup d'outlook est installer une erreur 429 se produit a chaque fois, en la desinstallant , apparement ca fonctionne... A voir...

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    une question, j'ai du mal lire, mais je ne comprends pas à quoi sert ton contrôle.

  9. #9
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Mon controle est en fait un outils de visualisation 3D, fait par le biais de fenetre de rendu (Objet COM ) et une Scroll Bar visible ou non selon sa property.

    Le but étant de faire un Control avec des procédures et fonctions que sont implémenté pour des actions bien particuliere.

    Niveaux fonctionnel : C'est comme ci tu prennais la Caculette et que tu faisait un control qui fait que les Soustraction et Addition, car le client futur n'aura besoin que de ca.

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    ok bah ... mets les fonctions de ton module dans le contrôle directement alors ...

    Si ton but est de, depuis un projet externe, faire un truc comme :

    controle.additionne ou controle.soustrait alors il faut mettre les deux fonctions dans le contrôle lui-même je pense que c'est plus logique.

    Après si lui-même appelle des fonctions du module pourquoi pas .. ou des fonctions d'une classe privée, mais sinon ça suffit.

  11. #11
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Il fallait que je mettes ma Class en MULTI USE.

    Merci a Delbeke et a vld44 !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/03/2013, 20h43
  2. Je n'arrive pas a créer l'objet.
    Par watiero dans le forum C++
    Réponses: 3
    Dernier message: 26/04/2008, 20h55
  3. [VB6] Créer une page de propriété d'un control ActiveX
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 09/05/2006, 12h10
  4. [VS2003] Un composant ActiveX ne peut pas créer un objet
    Par kendras dans le forum Framework .NET
    Réponses: 1
    Dernier message: 28/12/2005, 12h39
  5. Réponses: 11
    Dernier message: 02/09/2005, 15h41

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