Problème avec une procédure

Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017 - 17 mai 2013 à 12:48
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017 - 18 mai 2013 à 12:45
Bonjour,

J'ai une procédure dans l'userControl d'un Ocx que j'appelle dans une application.
Je souhaiterais ajouter un module au Usercontrol pour accueillir cette procédure.
J'ai déjà réalisé cette opération mais le nom de la procédure n'est pas reconnu de l'application qui tombe en erreur au moment de l'exécution.

Par avance merci.

9 réponses

Bonjour Cjvg.

Où est votre code, dûment indenté et syntaxiquement coloré ? À quelle ligne l'erreur se produit-elle ? Quel est le message d'erreur qui s'affiche alors ? Combien de questions faudra-t-il vous poser avant que quelqu'un puisse vous aider ?

Cordialement.

Étant illettré, je signe d'une croix : ×
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
17 mai 2013 à 15:04
Bonjour à tous,

Je complète pour ceux qui n'auraient pas compris.

J'ai un module dans un UserControl qui contient une Procédure.
Je souhaiterais faire un Call à cette procédure dans la Form d'une application.

Quelles sont les dispositions qu'il faut prendre pour que cette procédure soit reconnue par
l'application.

Par avance Merci
0
Utilisateur anonyme
17 mai 2013 à 15:11
Bonjour,
Je complète pour ceux qui n'auraient pas compris.

Moi j'ai tout à fait compris, du premier coup, depuis le début... Ainsi que j'ai également très bien compris ce qui t'a demandé Zermelo (que je salue au passage):
Où est votre code, dûment indenté et syntaxiquement coloré ? À quelle ligne l'erreur se produit-elle ? Quel est le message d'erreur qui s'affiche alors ? Combien de questions faudra-t-il vous poser avant que quelqu'un puisse vous aider ?


Je renouvelle donc sa demande, et reste dans l'attente de ton code et toutes les explications que l'on te demande.

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 mai 2013 à 10:55
Salut

Si tu veux de l'aide, il faut, en effet, être plus précis.

"un Ocx que j'appelle dans une application"
Non, on n'appelle pas un OCX : On l'utilise sur une forme, puis on utilise ses propriétés/méthodes.
Sans le code, impossible de savoir ce que tu entends par là.

"[i]J'ai un module dans un UserControl qui contient une Procédure.
Je souhaiterais faire un Call à cette procédure dans la Form d'une application./i"
La forme hôte ne pourra utiliser que les propriétés et méthodes de l'OCX. Même si ton OCX contient un module, ce que contient ce module ne sera pas accessible depuis l'hôte.
Un OCX se présente comme un objet unique.
En mode création, les fichiers de ton OCX doivent, normalement, composer un projet à part entière.
Si tu l'utilises pour l'instant en mode création, cela veut dire que tu as créé un groupe de projets composé :
- du projet principal hôte
- du projet de l'OCX
Là encore, le manque d'information ne permet pas d'aller plus loin dans l'aide que tu demandes.

Si tu veux que ta procédure puisse être vue et utilisable par l'hôte, il faut la placer dans le UserControl et la déclarer en Public.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
18 mai 2013 à 11:05
La forme hôte ne pourra utiliser que les propriétés et méthodes de l'OCX. Même si ton OCX contient un module, ce que contient ce module ne sera pas accessible depuis l'hôte.

Voilà la réponse à ma question
Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 mai 2013 à 11:15
Bonjour, cjvg,
je crois que tu as trop vite lu :
Le contenu est une chose. L'exécution des instructions en est une autre.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
18 mai 2013 à 11:35
Bonjour Mr. Ucfoutu,

Le contenu est une chose. L'exécution des instructions en est une autre.

Le contenu de ma Procédure est une chose.
L'exécution des instructions de ma procédure en est une autre.

J'en déduis que l'hote peut faire un call à ma procédure pour l'exécuter.


???????????????????????????????????????????????????????????????????????????????
?????????????????????? C'est de plus en plus clair pour moi ???????????????????
???????????????????????????????????????????????????????????????????????????????

Je vais continuer à faire des recherches sur le Net


Merci.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 mai 2013 à 11:52
Bon.
Je vais te dire comment je procède exactement pour les miens :
Je n'encombre pas le .ctl par le code des instructions des procédures que je veux rendre disponibles depuis l'hôte du userControl.
- Je les mets en public dans un Module.bas du projet de mon ocx, sous un nom court (exemple : public sub toto)
- dans le .ctl je les mets en public sous un nom plus évocateur
exemple
Public sub faire_ceci_ou_cela
 toto
end sub

De cette manière : mon .ctl est peu encombré (ne fait pas des kilomètres à lire en cas de maintenance)
Une fois compilé en (exemple aaaaa.ocx)
Puis inséré (nom par défaut aaaaa1.ocx) sur le form de l'application hôte :
si je frappe aaaaa1. vb me propose immédiatement, parmi ses propositions : faire_ceci_ou_cela (qui est en réalité développé sous toto dan,s le module.bas du projet ocx).
Voilà.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
18 mai 2013 à 12:45
Re Bonjour,

Je pense que j'avais fais ce que vous me proposez à savoir:
Ecrire une procédure dans le .Ctl qui fait un call à la procédure qui se trouve dans le .Bas.
Technique que je ne trouvais pas élégante.

Après lecture de votre réponse, j'en conclus qu'il est impossible de faire dans une application un Call à une procédure enregistrée dans un module de l'ocx.

Je pensais qu'il était possible par une technique que je ne connais pas de déclarer dans l'Ocx
le Nom de la Procédure.bas afin qu'elle soit connue de l'application.

Merci encore une fois pour cette réponse.
0
Rejoignez-nous