Yel*_*rry 1 access-vba 32bit-64bit
我在Access 2013中使用了下面的代码(从网站上获取了它)。它没有任何问题。
Private Declare Function GdipCreateBitmapFromFile Lib "gdiplus.dll" (ByVal FileName As Long, bitmap As Long) As Long
If GdipCreateBitmapFromFile(StrPtr(sFileName), hPic) = 0 Then ....
Run Code Online (Sandbox Code Playgroud)
在删除Access 2013 64位运行时安装的32位组件后,出现编译器错误。我在声明后添加PtrSafe,编译器就可以了。
Private Declare PtrSafe Function GdipCreateBitmapFromFile Lib "gdiplus.dll" (ByVal FileName As Long, bitmap As Long) As Long
If GdipCreateBitmapFromFile(StrPtr(sFileName), hPic) = 0 Then ....
Run Code Online (Sandbox Code Playgroud)
但是,它将出现运行时错误-StrPtr中的类型不匹配。不知道如何解决。
将LongPtr用于64位而不是Long。
Private Declare PtrSafe Function GdipCreateBitmapFromFile Lib "gdiplus.dll" (ByVal FileName As LongPtr, bitmap As Long) As Long
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6319 次 |
| 最近记录: |