|
New user
Beiträge: 2
| Hallo miteinander, ich habe ein Problem zu dem ich wirklich NIX gefunden habe:
Es geht um eine Access-Anwendung, die auf verschiedenen Plattformen und mit unterschiedlichen Access-Versionen läuft. Daher setzte ich an einigen Stellen die bedingte Kompilierung ein, was auch auf fast allen Rechnern funktioniert:
z.B. #If Win64 Then Declare PtrSafe Function GetOpenFileName_API Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean Declare PtrSafe Function GetSaveFileName_API Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean #Else Declare Function GetOpenFileName_API Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean Declare Function GetSaveFileName_API Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean #End If
Nur auf einem Rechner funktioniert es nicht und folgender Code gibt alle 4 Zeilen aus statt wie sonst die 2 zutreffenden - es werden alle Ausdrücke als True interpretiert:
Sub getBIT() #If vba7 Then Debug.Print "vba7" #End If #If Not vba7 Then Debug.Print "not vba7" #End If #If Win64 Then Debug.Print "win64" #End If #If Not Win64 Then Debug.Print "not win64" #End If End Sub
Die Konstanten VBA7 und Win64 sind auf diesem Rechner nicht definiert, auch nicht im Word. Der Aufruf de o.g. API's funktioniert auch nicht, ohne Fehlermeldung...
Hat das jemand schonmal gehabt? Was kann ich da machen???
Mit bestem Dank schonmal und vielen Grüßen,
Malin | |
|