AW: Vba code auf 64 Bit testen
20.12.2020 13:09:34
volti
Hallo Wolfi,
ergänzend zu den bereits gemachten Aussagen hier noch bzgl. Deiner Frage
Hilft es immer die Private Declare mit "PtrSafe" zu erweitern (Hab ich hier im Forum gelesen) oder was muss anstatt der Private Declare benutzt werden.
Die Declares (müssen auch nicht unbedingt Private sein, es geht auch Public oder ohne, das hängt von der Verwendung ab) müssen unter 64-Bit das Schlüsselwort PtfSafe enthalten.
Darüber hinaus sind je nach Funktion noch Anpassungen diverser Variablen, inbesondere die sogenannten Handle, vorzunehmen.
Beispiel1 (hier muss nichts weitergemacht werden):
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Beispiel 2 (hier muss z.B. die Rückgabe der Function auf LongPtr umgestellt werden)
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Beispiel 3 (hier muss z.B. die Variable hWnd und die Rückgabe der Function auf LongPtr umgestellt werden)
Private Declare PtrSafe Function ShellExecuteA Lib "Shell32.dll" ( _
ByVal hwnd As LongPtr, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz