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

Access Discussion :

DLL introuvable


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut DLL introuvable
    Bonjour à toutes et à tous !

    J'ai développé une applic qui envoie par mail une pièce attachée et tout fonctionnait bien avant que l'entreprise migre de
    Win2K server vers Win2003 server.

    En lançant la fonction, le message suivant apparaît :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Erreur d'exécution '453':
     
    Point d'entrée BMAPISendMail d'une DLL introuvable dans Mapi32.dll
    ... en cliquant sur "Débogage", il arrive sur la ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendMail = MAPISendMail(0&, 0&, MAPI_Message, MAPI_Recip(), MAPI_File(), MAPI_LOGON_UI, 0)
    la déclaration de la fonction est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Declare Function MAPISendMailOE Lib "C:\Program Files\Outlook Express\Msoe.dll" _
                                  Alias "BMAPISendMail" (ByVal Session&, _
                                  ByVal UIParam&, _
                                  Message As MAPIMessage, _
                                  Recipient() As MapiRecip, _
                                  File() As MapiFile, _
                                  ByVal FLAGS&, _
                                  ByVal Reserved&) As Long
    ... et la fonction elle-même est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    Function SendMail(sSubject As String, sTo As String, sCC As String, _
    sCCO As String, sAttach As String, sMessage As String) As Long
     
       Dim i, cTo, ccc, cCCO, cAttach
       Dim MAPI_Message As MAPIMessage
     
       cTo = CountWord(sTo, ";")
       ccc = CountWord(sCC, ";")
       cCCO = CountWord(sCCO, ";")
       cAttach = CountWord(sAttach, ";")
     
       ReDim rTo(0 To cTo) As String
       ReDim rCC(0 To ccc) As String
       ReDim rCCO(0 To cCCO) As String
       ReDim rAttach(0 To cAttach) As String
     
       ParseWords rTo(), sTo, ";"
       ParseWords rCC(), sCC, ";"
       ParseWords rCCO(), sCCO, ";"
       ParseWords rAttach(), sAttach, ";"
     
       ReDim MAPI_Recip(0 To cTo + ccc + cCCO - 1) As MapiRecip
     
       For i = 0 To cTo - 1
          MAPI_Recip(i).Name = rTo(i)
          MAPI_Recip(i).RecipClass = MAPI_TO
       Next i
     
       For i = 0 To ccc - 1
          MAPI_Recip(cTo + i).Name = rCC(i)
          MAPI_Recip(cTo + i).RecipClass = MAPI_CC
       Next i
     
       For i = 0 To cCCO - 1
          MAPI_Recip(cTo + ccc + i).Name = rCCO(i)
          MAPI_Recip(cTo + ccc + i).RecipClass = MAPI_CCO
       Next i
     
       ReDim MAPI_File(0 To cAttach) As MapiFile
     
       MAPI_Message.FileCount = cAttach
       For i = 0 To cAttach - 1
          MAPI_File(i).Position = -1
          MAPI_File(i).PathName = rAttach(i)
       Next i
     
       MAPI_Message.Subject = sSubject
       MAPI_Message.NoteText = sMessage
       MAPI_Message.RecipCount = cTo + ccc + cCCO
     
       If GetDefaultMail = "Outlook Express" Then
          SendMail = MAPISendMailOE(0&, 0&, MAPI_Message, MAPI_Recip(), MAPI_File(), MAPI_LOGON_UI, 0)
       Else
          SendMail = MAPISendMail(0&, 0&, MAPI_Message, MAPI_Recip(), MAPI_File(), MAPI_LOGON_UI, 0)
       End If
     
    End Function
    Voilà, j'espère que pour l'une ou l'une d'entre-vous l'erreur est évidente car c'est vraiment loin d'être le cas pour moi...

    Mille mercis d'avance !

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Bonjour,

    est ce que les références necessaires sont bien cochées ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Bonjour Frank et merci pour votre réponse !

    Les références cochées sont les suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Visual Basic For Applications
    Microsoft Access 11.0 Object Library
    OLE Automation
    Microsoft DAO 3.6 Object Library
    Microsott ActiveX Data Objects 2.1 Library
    Microsoft Calendar Control 11.0
    Microsoft Scripting Runtime
    ReportToPDF
    Je ne me souviens malheureusement plus si j'avais dû en cocher une autre lorsque j'ai inséré ce code (trouvé ici-même)

  4. #4
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Est ce que cette DLL
    C:\Program Files\Outlook Express\Msoe.dll
    est bien présente sur le pc ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Oui, exactement à cet emplacement.

  6. #6
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Il serait interressant de vérifier s'il y a une référence pour Outlook Express ou Outlook à cocher, car je n'en vois pas dans votre liste.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    J'ai déjà cherché et vais le faire encore mais c'est un peu chercher une aiguille dans une botte de foin... il y en a tellement de ces références...

    J'y retourne...

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    J'a trouvé celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Microsoft Outlook 11.0 Object Library
    Mais cela ne fonctionne pas...

  9. #9
    Invité
    Invité(e)
    Par défaut
    Salut,

    Ta Dll fait parti de Outlook Express, il me semble avoir lu (cherche dans le forum VB il me semble) que cela ne marche qu'avec Outloolk.

    Starec

  10. #10
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Question bête: Outlook express est bien installé sur ce poste ?

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    pas bête la question. Outlook express n'est pas installé sur ce poste... mais il ne l'était pas non plus avant la migration 2k à 2003.

    Et avant cette migration, cela fonctionne super bien !

  12. #12
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Citation Envoyé par bernardmichelWork
    pas bête la question. Outlook express n'est pas installé sur ce poste... mais il ne l'était pas non plus avant la migration 2k à 2003.

    Et avant cette migration, cela fonctionne super bien !
    Serait ce donc dûe à la fameuse légende relative à la compatibilité ascendante des applications CroSoft ?.....

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salutation,


    Voir aussi le sujet suivant :
    http://www.developpez.net/forums/viewtopic.php?t=430032

    A+

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci à tous pour votre aide !

    Je ne sais pas si nous en arrivons à cette fameuse légende mais dans la pratique... cela est plutôt e...yuant

    Je suis allé voir à l'adresse : http://www.developpez.net/forums/viewtopic.php?t=430032
    Cela renvoye à deux références que je ne trouve pas sur mon poste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Microsoft Outlook 10.0 Object Library 
    Microsoft Outlook view Control
    Ô rage et désespoir !

  15. #15
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Est-ce que 3stone n'aurait pas un élément de réponse par hasard ?

    Le CLSID de Msoe.dll doit en théorie être {A08AF898-C2A3-11d1-BE23-00C04FA31009}.

    De ce fait, en cherchant ce CLSID dans la BDR tu obtiens un ProgID = à "OutlookExpress.Envelope.1"

    Je n'ai pas farfouillé ni essayé mais je pense qu'une tentative de procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CreateObject("OutlookExpress.Envelope.1")
    doit pouvoir donner quelque chose, non ???

    Argy

  16. #16
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Bonsoir Argyronet,

    Je te remercie pour ton aide mais j'ai un peu peur d'utiliser ta commande si elle intervient sur la Base de registre car je développe sur un réseau dont je n'ai aucune maîtrise... et si je modifie quelque chose là dedans, j'ai intérêt à ce que cela n'ai d'autre influence que celle recherchée...

    Peux-tu me confirmer que c'est sans danger ? Auquel cas, j'essayerai demain au boulot ...

    Merci pour ta réponse !

  17. #17
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Non, c'est sans danger, aucun...
    Une DLL ou un OCX, pour être reconnu par un programme, possède un ProgID qui est le nom littré du CLSID.
    Par exemple, pour Word, le CLSID est:
    {000209FF-0000-0000-C000-000000000046}
    alors que sont ProgID est Word.Application
    Tu as certainement déjà, du voir un truc du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim oWord As Object
        Set oWord = CreateObject("Word.Application")
        [...]
        Set oWord = Nothing
    Ce que je te propose d'essayer consiste en fait à manipuler un objet et bénéficier de ses propriétés et méthodes comme si tu y faisais référence à travers le Menu Outils/Référence.
    Je ne te garantie pas que cela va marcher car, n'ayant pas le temps de me consacrer à ces tests, je ne suis pas en mesure de te le confirmer mais le principe lui, fonctionne.

    Ton objet sera alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CreateObject("OutlookExpress.Envelope")
    Conseil ++
    Fais des tests dans un projet vide pour éviter toute interaction avec d'autres projets et fais au plus simple, cad, pas de ParseWord et CountWord entre autres... Mais contente toi d'un Recipient, un Object et un Body. Une fois que ça marche, tu adaptes.

    Bon courage

    Argy

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Bonjour Argy,

    J'ai placé le code que tu suggères dans ma fonction "SendMail" mais cela ne fait aucune différence, toujours le même message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Erreur d'exécution '453': 
     
    Point d'entrée BMAPISendMail d'une DLL introuvable dans Mapi32.dll
    Peut-être n'ai-je pas placé le code à la bonne place ???

  19. #19
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Non, non, ce n'est pas un problème de placement.
    C'est tout simplement que le DLL que tu cherches à exploiter n'est pas correctement enregistrée dans le regsitre de Windows.
    Ce qu'il faut envisager maintenant, c'est de s'adapter à ton nouveau client de Messagerie.

    Quel est-il ?

    De là, tu reconstruits ta fonction SendMail avec le bon composant et tu oublies MAPI....

    Argy

    P.S. Qu'en dit 3Stone au fait puisque c'est de là que vient ton code...

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Hello !

    Je ne savais pas que mon code venait de 3Stones... je l'ai eu via Logipro (Québec) mais je peux bien évidemment lui poser la question !

    En parlant de client de messagerie, je travaille avec Outlook 2003 via un réseau assez complexe puisque touchant plusieurs sites différents. Je vais me renseigner plus avant pour cela.

    N'y aurait-il pas un moyen pour enregistrer correctement cette DLL dans la BDR ?

    Merci en tous les cas !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Delphi 2005 : bdpint25.dll introuvable!
    Par vincentj dans le forum Bases de données
    Réponses: 1
    Dernier message: 04/09/2006, 15h23
  2. [VB6]erreur dll introuvable
    Par ced08150 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/02/2006, 23h24
  3. [APACHE]fichier mysqli.dll introuvable au démarrage
    Par mealtone dans le forum Apache
    Réponses: 2
    Dernier message: 13/10/2005, 11h43
  4. [MFC] Msado15.dll et MSVCR70.dll introuvables
    Par annedjomo dans le forum MFC
    Réponses: 14
    Dernier message: 06/10/2005, 18h05
  5. CD auto executable défaillant à cause DLL introuvable
    Par khyriana dans le forum Autres Logiciels
    Réponses: 10
    Dernier message: 19/09/2005, 18h16

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