Problem bei bedingter Kompilierung mit Win64, VBA7
PhilS
Gesendet: 11.05.16 08:25
Betreff: RE: Problem bei bedingter Kompilierung mit Win64, VBA7


Veteran

Beiträge: 137
10025

MalinV - 11.05.16 00:53 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

An dieser Stelle brauchst du mE keine bedingte Kompilierung. PtrSafe kannst du auch unter Win32 einsetzen. VBA7 wäre allerdings evtl. relevant. (Bin gerade nicht sicher)

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:
[....]
#If Not Win64 Then
    Debug.Print "not win64"
#End If

Das sollte allerdings nicht nur auf einem Rechner passieren, sondern auf allen. Lies mal That Whacky Conditional Compiler Constant , dort speziell den Absatz The Boolean Test (und folgende).

Die Konstanten VBA7 und Win64 sind auf diesem Rechner nicht definiert, auch nicht im Word.

Wie genau hast du das geprüft?

Vielleicht handelt es sich um eine 32bit-Version von Office 2007?

 


-----
https://codekabinett.com/
Top of the page Bottom of the page