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

VBA Access Discussion :

Migration Office 365 64b - problème StrPtr [AC-365]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2003
    Messages
    302
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 302
    Points : 128
    Points
    128
    Par défaut Migration Office 365 64b - problème StrPtr
    Bonjour
    J'ai une base de données qui tourne depuis quelques temps sans souci. J'utilise le code d'Arkham 46 pour le ruban en ayant rajouté les "prtsafe"
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    '***************************************************************************************
    '*              CLASSE IMAGES DE RUBANS
    '***************************************************************************************
     
    '***************************************************************************************
    ' Auteur : Thierry GASPERMENT (Arkham46)
    ' v0.2 (11/03/12)
    ' Le code est libre pour toute utilisation
    '***************************************************************************************
     
    '***************************************************************************************
    '*                                      LIENS                                          *
    '***************************************************************************************
    '** Telechargement de GdiPlus.dll
    ' http://www.microsoft.com/downloads/details.aspx?FamilyID=6a63ab9c-df12-4d41-933c-be590feaa05a&DisplayLang=en
    '** Norme Exif
    ' http://www.exif.org/specifications.html
    '** Liste des Tags EXIF pour Gdi+
    ' http://msdn2.microsoft.com/en-us/library/ms534413.aspx
    '**
    ' Mon Site Web DVP : http://arkham46.developpez.com
    '***************************************************************************************
    '*                                      EN-TETE                                        *
    '***************************************************************************************
    Option Explicit
     
    '***************************************************************************************
    '*                                       API                                           *
    '***************************************************************************************
    ' API diverses
    Private Declare PtrSafe Function CreateStreamOnHGlobal Lib "ole32.dll" (ByRef hGlobal As Any, ByVal fDeleteOnRelease As Long, _
                                                                    ByRef ppstm As Any) As Long    ' Pas du Gdi+ mais necessaire pour les List lus avecGdi+
    Private Declare PtrSafe Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
    Private Declare PtrSafe Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
    Private Declare PtrSafe Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
    ' API pour creation object IPictureDisp
    Private Declare PtrSafe Function OleCreatePictureIndirect Lib "olepro32.dll" _
                                                      (PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As Object) As Long
    ' Gestion des dll
    Private Declare PtrSafe Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
    ' API GDI+
    Private Declare PtrSafe Function GdipLoadImageFromFile Lib "gdiplus" (ByVal Filename As Long, ByRef image As Long) As Long
    Private Declare PtrSafe Function GdiplusStartup Lib "gdiplus" (token As Long, LInput As GdiplusStartupInput, Optional ByVal lOutPut As Long = 0) As Long
    Private Declare PtrSafe Function GdiplusShutdown Lib "gdiplus" (ByVal token As Long) As Long
    Private Declare PtrSafe Function GdipDisposeImage Lib "gdiplus" (ByVal image As Long) As Long
    Private Declare PtrSafe Function GdipCreateHBITMAPFromBitmap Lib "gdiplus" (ByVal bitmap As Long, ByRef hbmReturn As Long, _
                                                                        ByVal Background As Long) As Long
    Private Declare PtrSafe Function GdipLoadImageFromStream Lib "gdiplus" (ByVal stream As Any, ByRef image As Long) As Long
    ' Deplace une zone de memoire
    Private Declare PtrSafe Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal length As Long)
    '***************************************************************************************
    '*                                    Constantes                                       *
    '***************************************************************************************
    Private Const GMEM_MOVEABLE = &H2&
    '***************************************************************************************
    '*                                       Types                                         *
    '***************************************************************************************
    Private Type PicBmp
        Size As Long
        tType As Long
        hBmp As Long
        hpal As Long
        Reserved As Long
    End Type
    Private Type GUID
        Data1 As Long
        Data2 As Integer
        Data3 As Integer
        Data4(0 To 7) As Byte
    End Type
    Private Type GdiplusStartupInput
        GdiplusVersion As Long
        DebugEventCallback As Long
        SuppressBackgroundThread As Long
        SuppressExternalCodecs As Long
    End Type
    '***************************************************************************************
    '*                                    Variables                                        *
    '***************************************************************************************
    Private gGdipToken As Long    ' Identifiant pour GdiPlus
    Private gLib As Long    ' Identifiant de la librairie chargee en memoire
    Quand je lance la base j'ai un message d'erreur a l'ouverture lors de l'appel à cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Function LoadFromFile(pFile As String) As Object
    Dim lBitmap As Long
        On Error GoTo Gestion_Erreur
        ' Creation d'un Bitmap Gdi+ a partir du bitmap de l'image
        If GdipLoadImageFromFile(StrPtr(pFile), lBitmap) = 0 Then
            Set LoadFromFile = GetIPictureDispFromBitmap(lBitmap)
            GdipDisposeImage lBitmap
        End If
    Gestion_Erreur:
        If err.Number <> 0 Then Set LoadFromFile = Nothing
    End Function
    On vient de migrer sur office 365 en 64b et j'ai un message qui me dit incompatibilité de type sur "StrPtr" et du coup les images du ruban ne se chargent pas.

    Pouvez-vous m'aider à le resoudre svp?
    Merci

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bonjour,

    Ajouter ptrSafe ne suffit pas.
    Téléchargez la dernière version du module :
    https://arkham46.developpez.com/arti...ibbonimage.zip

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2003
    Messages
    302
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 302
    Points : 128
    Points
    128
    Par défaut
    fonctionne a la perfection, merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-365] Erreur 1004 Objet Application Calculation - Après migration Office 365
    Par Kremy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/02/2021, 15h11
  2. Réponses: 4
    Dernier message: 07/06/2019, 09h36
  3. Réponses: 4
    Dernier message: 13/05/2019, 11h11
  4. [Exchange 2010] Migration Office 365
    Par plastic8 dans le forum Exchange Server
    Réponses: 0
    Dernier message: 04/01/2016, 15h39
  5. Réponses: 0
    Dernier message: 23/09/2009, 19h36

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