jimy neutron
Messages postés490Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 2016
-
30 août 2007 à 11:44
jimy neutron
Messages postés490Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 2016
-
30 août 2007 à 17:32
Bonjour à tous,
Peut-on "cocher" dynamiquement une référence telle que Microsoft OUTLOOK 11.0 Object library, habituellement à cocher manuellement dans Projet -> Références.
J'ai déja posé cette question dans le forum, avec plus de détails sur le contexte à:
VB6->WINDOWS -> AUTRES (titre:version outlook ou outlook express)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 30 août 2007 à 12:07
Salut,
Quel en serait l'intérêt ???
Soit tu l'as coché, et tu y accède directement dans ton code (early-binding : beaucoup plus rapide après compilation, mais oblige à installer la bonne librairie !)
Soit tu ne l'as pas coché, et tu y accède indirectement dans ton code (avec des Object, CreateObject, etc.), c'est du late-binding : c'est plus lent, tu dois gérer les erreurs si la librairie n'est pas présente, mais ca permet par exemple d'utiliser une version différente de la librairie si jamais elle est compatible. (c'est le système utilisé pour faire des plugins par exemple).
______________________________________
DarK Sidious
jimy neutron
Messages postés490Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 30 août 2007 à 12:38
Salut DarK Sidious
La réponse est sans aucun doute dans mon manque de connaissance dans ce domaine...Object, CreateObject, etc.
L'intérêt serait le suivant:
Je developpe actuellement un annuaire ( ou répertoire ) ciblé recherche d'emploi . Dans cette annuaire on peut renseigner toutes les coordonnées, et activer OUTLOOK ou OUTLOOK EXPRESS pour envoyer un mail à partir de l'adresse mail saisie ou IEXPLORER pour visiter le site d'une entreprise.
On peut aussi saisir un jour, une heure et un sujet de rendez-vous, qui s'inscrit automatiquement dans l'agenda OUTLOOK, mais OUTLOOK EXPRESS ne possede pas d'agenda, et l'application se plante dés lors qu'elle installée su une bécane qui marche avec OUTLOOK EXPRESS. Car pour cette fonction, il faut en référence cocher: Microsoft OUTLOOK 11.0 Object library qui n'existe pas sur ces PC.
Aurais-tu un exemple de code ou un tutorial sur la solution que tu m'apporte?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 30 août 2007 à 14:20
Salut,
C'est l'un des cas où le late-binding est préférable : avec le late-binding, tu évite l'erreur qu'une référence n'est pas trouvée, et tu peux modifier le comportement de ton prog selon si l'utilisateur utilise outlook ou outlook express.
Il faut donc tout faire sans cocher la fameuse référence : utilise le type Object au lieu de Outlook.Application par exemple.
Créer les instances de classes grâce à la fonction CreateObject, par exemple :
Dim outlook as Object
set outlook = CreateObject("Outlook.Application")
if (outlook is Nothing) then
msgbox "outlook n'est pas installé ! Utilisation de outlook express..."
end if
Après c'est à toi de connaître les classes instanciables ainsi que le nom interne de la librairie à utiliser, et comment se servir des fonctions de la librairie !
______________________________________
DarK Sidious