Bonjour, je développe actuellement un addon Outlook et je suis bloqué sur la partie transfert de Variable de ma DLL Delphi2010 vers mon addon VB.net.
Ma DLL me retourne un pointeur de type PWideChar.
Mon addon est censé récupérer le string pointé par ce PWideChar. Seul problème, après plusieurs jour de recherche, je ne trouve pas la bonne solution à adopter pour faire fonctionner ce complément qui fonctionne sous XP mais pas sous Seven... La seul erreur que j'ai est : "Outlook ne répond pas" et plante.
Voici le code :
Merci de vos réponses
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 Imports Outlook = Microsoft.Office.Interop.Outlook Imports Microsoft.Office.Core <Runtime.InteropServices.ComVisible(True)> _ Public Class Ribbon Implements Office.IRibbonExtensibility 'permet l'utilisation de la dll Declare Function AjoutMail Lib "DLMDLL.dll" Alias "Ajouter_une_piece_jointe_a_un_mail" () As String 'déclaration du ruban pour surcharger le principal Private ribbon As Office.IRibbonUI Dim MailItem As Outlook.MailItem Public Sub New() End Sub 'fonction qui permet d'intérargir avec le ruban d'outlook 2010 Public Function GetCustomUI(ByVal ribbonID As String) As String Implements Office.IRibbonExtensibility.GetCustomUI Return GetResourceText("DLMOutlookAddIn2010.Ribbon.xml") End Function 'fonction appelée au click sur le bouton pièce jointe Public Sub Attach(ByVal control As IRibbonControl, ByRef cancelDefault As Boolean) 'permet de récupérer l'objet email que l'utilisateur vient de créer MailItem = TryCast(ThisAddIn.outApp.ActiveInspector().CurrentItem, Outlook.MailItem) Dim temp As String Dim count As Integer 'lance la fonction qui apple dlm temp = AjoutMail() 'si renvoie pas -1 If temp <> "-1" Then 'click passe à True pour dire que le bouton a bien été clické ThisAddIn.click = True 'Mise en pièce jointes du html MailItem.Attachments.Add(temp) 'sinon Else 'on compte le nb de pièce jointe count = MailItem.Attachments.Count MsgBox("annulation de l'envoie de pièce jointe") 'on supprime la dernière ajouté MailItem.Attachments.Remove(count) End If 'permet de ne pas lancer la fenêtre de recherche de fichiers par défault (outlook) cancelDefault = True End Sub End Class
Partager