Åbning af dll i 64-bit version af Excel
HejJeg har lavet følgende kode som virker på en 32-bit computer:
#If VBA7 And Win64 Then
Declare PtrSafe Function Be06Calc Lib "Be10Eng.dll" (ByVal a As String, ByVal B As LongPtr, ByVal C As LongPtr) As String
Declare PtrSafe Function Be06Keys Lib "Be10Eng.dll" (ByVal model As String, ByVal mem As String, ByRef max As Integer, ByVal lang As Integer) As String
#Else
Declare Function Be06Calc Lib "Be10Eng.dll" (ByVal a As String, ByVal B As Long, ByVal C As Long) As String
Declare Function Be06Keys Lib "Be10Eng.dll" (ByVal model As String, ByVal mem As String, ByRef max As Integer, ByVal lang As Integer) As String
#End If
Sub TEST()
'-------------------------------------'
' Stien brugt
Dim myPath As String
Dim folderPath As String
folderPath = Application.ActiveWorkbook.Path
myPath = Application.ActiveWorkbook.FullName
'-------------------------------------'
'Oprettelse af diverse variable
Dim objXML As MSXML2.DOMDocument
Dim maxkey, max
Dim cc As String, keys As String, keyxml As String, xmlFileName As String
Set objXML = New MSXML2.DOMDocument
objXML.async = False
objXML.validateOnParse = False
Static Bibliotek As String
xmlFileName = folderPath & "\Be10\0indata.xml"
objXML.Load (xmlFileName)
Bibliotek = "C:\Program Files (x86)\SBi\Be10\7,12,8,12\"
ChDir Bibliotek ' Necessary to run Be06Calc()
'-------------------------------------'
' Generating Be10 key-, log- and res-files
cc = Be06Calc(xmlFileName, 1, 0)
maxkey = 3500
max = maxkey
keys = String(maxkey, " ")
keyxml = Be06Keys(objXML.xml, keys, max, 0)
keys = ""
Set objXML = Nothing
End Sub
Det scriptet skal gøre er at åbne "Be10Eng.dll" og køre de to funktioner på en xml-fil. Som sagt virker det i 32-bit, men jeg kan ikke få det til at virke på 64-bit, selvom jeg har brugt "PtrSafe" og "LongPtr".
Nogen der kan hjælpe?
Mvh
Kim