【发布时间】:2021-08-28 00:46:44
【问题描述】:
我想知道您是如何知道是否需要在 Microsoft Access 数据库中声明 PtrSafe 以使 ACCDE 能够在 32 位版本的 Microsoft Access 上工作。据我所知,我没有任何声明中包含“声明”一词。我的数据库有大量的 subs 和几种形式的全局 dim 变量,仅此而已。我最近有人无法打开我的 ACCDE 文件,他收到了 64 位消息错误,但我什至不知道在哪里可以找到给他带来问题的代码。我不是 Access 或 VBA 方面的专家,不太了解何时需要使用或不使用 PtrSafe 语句。
【问题讨论】:
-
附注:这是一个问答网站。请注意,question 是单数,而不是复数。如果您有多个问题,则需要在单独的帖子中提问。我已经编辑了您的帖子以删除单独的第二个问题。如果您花一些时间在tour 和阅读help center 页面以了解该网站的工作原理,然后再开始发布,您会发现您在这里的体验会好很多。
-
PtrSafe根据定义仅适用于Declare语句。如果你没有,你不能也不需要使用PtrSafe。 -
请注意,
PtrSafe表示您彻底检查了声明以确保 64 位指针安全,这意味着:不要在没有彻底检查的情况下将其拍到函数上以使错误消失,因为可能会导致您的应用程序在 64 位窗口上随机崩溃(不幸的是,我见过很多这样的情况)。 -
@ChrisStricland 的答案是正确的,因此这个问题被错误地关闭为重复...