Nous sommes actuellement le 15 Juil 2026, 07:05

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 9 message(s) ] 
Auteur Message
MessagePublié: 01 Avr 2004, 15:20 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 10 Mars 2003, 09:59
Message(s) : 3265
Localisation : Québec
j'ai la procédure suivante qui donne un message d'erreur 429 :



Citer:
'Fonction OuvertureSession()
'Appelée par la procédure CapteMessage
'Ouvre une session MAPI et se positionne
'sur la boîte Éléments envoyés de la boîte
'Outlook.

Public Sub OuvertureSession()

Call Trace("@DÉBUT procédure OuvertureSession")

Dim lngErrNo As Long
Dim strErrDesc As String

On Error GoTo err_OuvertureSession

'Création d'une session
Set objSession = CreateObject("MAPI.Session")
objSession.Logon strLogon

'Positionner sur la boîte Éléments envoyés
Set objFolder = objSession.GetDefaultFolder(CdoDefaultFolderSentItems)

Call Trace("objFolder Créé")

If objFolder Is Nothing Then
Err.Raise vbObjectError + 513, "OuvertureSession", "Tentative échouée " & _
"d'ouverture de la boîte Éléments envoyés."
End If

fin_OuvertureSession:
Call Trace("@FIN procédure OuvertureSession")
Exit Sub
err_OuvertureSession:
lngErrNo = Err.Number
strErrDesc = Err.Description
If strSupport_ErrProg <> "" Then
'Envoi de messagerie Outlook
Call EnvoiAvertissement("L'erreur " & lngErrNo & " s'est produite lors de la procédure OuvertureSession." & _
vbCrLf & strErrDesc & vbCrLf & "Le programme est arrêté." _
, strSupport_ErrProg)
End If
Call Gestion_Err("Procédure ouvertureSession", Err.Number, Err.Description, eltError, 0, True, "Fin anormale du traitement")
'Envoi de messagerie pagette
Call Envoi_Pagette(RépertoireWB, "[Le programme CDI a detecte une erreur][Procedure OuvertureSession][Le programme est arrete]")
End




quelqu'un a pensé un do events pourrais régler le problème..... ou je devrais le placer d'après vous?


voici l'erreur généré

Citer:
L'erreur 429 s'est produite lors de la procédure OuvertureSession.
Le composant ActiveX ne peut créer l'objet
Le programme est arrêté.

_________________
Il sera dur d'être fidèle
Ce mois-ci les filles sont si belles
D'ailleurs je ne le serai pas
Alors pourquoi s'casser la tête
La vie est une grande fête


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 01 Avr 2004, 15:42 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 10 Mars 2003, 09:59
Message(s) : 3265
Localisation : Québec
est-ce que le problème pourrais être causé par le fait que cette application utilise mail.dll, et qu'une autre application utilise le dll en même temp?

_________________
Il sera dur d'être fidèle
Ce mois-ci les filles sont si belles
D'ailleurs je ne le serai pas
Alors pourquoi s'casser la tête
La vie est une grande fête


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 01 Avr 2004, 17:29 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
est-vous certain que MAPI.Session est un classid valide et que le dll existe sur l'ordinateur et qu'il est enregistré?

Vous ne pouvez pas ajouter une référence sur cette composante ? Comme ça plus besoin de faire du latebinding

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 01 Avr 2004, 22:05 
Hors-ligne
Occasionnel
Occasionnel
Avatar de l’utilisateur

Inscription : 20 Fév 2003, 00:36
Message(s) : 113
Localisation : Québec
Voici ce que je ferais pour résoudre mon problème.

-Je commencerais par placer un break point à un endroit stratégique.
-Je lancerais le programme, jusqu'a ce que le break point ce produise avant l'erreur.

Lorsque tu auras trouvé la ligne qui produit l'erreur, continue avec F8 pour faire avancer pas à pas. Si l'erreur ne se produit plus quand tu fais du pas à pas ajoute un doevent juste avant cette ligne


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 01 Avr 2004, 23:21 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
L'erreur elle a lieu là: Set objSession = CreateObject("MAPI.Session")

Je ne vois pas d'autres place

Petit acticle sur comment utiliser MAPI avec VB :
http://www.devarticles.com/c/a/Visual-B ... ual-Basic/

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 01 Avr 2004, 23:39 
Hors-ligne
Occasionnel
Occasionnel
Avatar de l’utilisateur

Inscription : 20 Fév 2003, 00:36
Message(s) : 113
Localisation : Québec
As-tu placé un break point sur cette ligne et vérifier si en mode pas à pas l'erreur ce produit?


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 02 Avr 2004, 09:10 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 10 Mars 2003, 09:59
Message(s) : 3265
Localisation : Québec
le problème c'Est que ca arrive pas tout le temps.... mais ca arrive....

c'est pour ca j'avais pensé leur idée de dire qu'un dll est utilisé qui fait planté le programme ca un peu d'allure...

c'Est 3 ou 4 applications qui roulent parfois en même temps qui utilise MAPI

_________________
Il sera dur d'être fidèle
Ce mois-ci les filles sont si belles
D'ailleurs je ne le serai pas
Alors pourquoi s'casser la tête
La vie est une grande fête


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 02 Avr 2004, 11:27 
Hors-ligne
Occasionnel
Occasionnel
Avatar de l’utilisateur

Inscription : 20 Fév 2003, 00:36
Message(s) : 113
Localisation : Québec
Bonne chance

et merci pour ce lien
Citer:
Petit acticle sur comment utiliser MAPI avec VB :
http://www.devarticles.com/c/a/Visual-B ... ual-Basic/


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 03 Avr 2004, 10:37 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Enkiel a écrit:
le problème c'Est que ca arrive pas tout le temps.... mais ca arrive....

c'est pour ca j'avais pensé leur idée de dire qu'un dll est utilisé qui fait planté le programme ca un peu d'allure...

c'Est 3 ou 4 applications qui roulent parfois en même temps qui utilise MAPI


Dans ce cas là, si tu ne trouves pas la vrai raison de pourquoi MAPI ne se laisse pas instancier à tout coup, tu peux tenter de l'instancier plus d'une fois

Code :
private const TIMEOUT_INSTANCIER as long = 1000
private const DELAI_INSTANCIER as long = 10
' Declare du sleep, je ne m'en souviens pas par coeur

'...

On error resume next
Dim lngInstancier as Long
Set objMapi = createobject("...")
Do while objMapi is Nothing And lngInstancier < TIMEOUT_INSTANCIER
   lngInstancier = lngInstancier + DELAI_INSTANCIER
  sleep DELAI_INSTANCIER
  Set objMapi = createobject("...")
Loop
on error goto 0 ' ou on error goto ton étiquette de traitement d'erreur
If objMapi is Nothing Then
  Err.raise ...
End if


Dans ce code tu pourrais mettre un DoEvents juste avant ou après le sleep. Si tu met un delai_instancier très court, tu devrais penser a encapsuler ton DoEvents comme ceci:

Code :
Private Sub DoEvents2()
  Static dblI as double
  If Timer > dblI + ? Then  ' Personellement je met autour de 10ms
    dblI = Timer
    DoEvents
  End If
End Sub


Le code que je donne n'est pas testé (copier-coller risque de ne pas marcher), mais ça donne une idée comment le faire.

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 9 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site