Ключевое слово PtrSafePtrSafe keyword

Ключевое слово PtrSafe используется в данном контексте: Declare оператор.The PtrSafe keyword is used in this context: Declare statement.

Операторы Declare с ключевым словом PtrSafe представляют собой рекомендованный синтаксис.Declare statements with the PtrSafe keyword is the recommended syntax. Для правильной работы операторов Declare с ключевым словом PtrSafe в среде разработки VBA7 на 32-разрядных и 64-разрядных платформах необходимо обновить все типы данных в операторе Declare (параметры и возвращаемые значения), предполагающие хранение 64-разрядных величин, чтобы можно было использовать тип LongLong для 64-разрядных целых чисел или тип LongPtr для указателей и дескрипторов.Declare statements that include PtrSafe work correctly in the VBA7 development environment on both 32-bit and 64-bit platforms only after all data types in the Declare statement (parameters and return values) that need to store 64-bit quantities are updated to use LongLong for 64-bit integrals or LongPtr for pointers and handles.

Чтобы обеспечить обратную совместимость с VBA версии 6 и более ранних версий, используйте следующую конструкцию:To ensure backwards compatibility with VBA version 6 and earlier, use the following construct:

#If VBA7 Then 
Declare PtrSafe Sub... 
#Else 
Declare Sub... 
#EndIf

При выполнении в 64 – разрядных версиях Office операторы Declare должны включать ключевое слово PtrSafe .When running in 64-bit versions of Office, Declare statements must include the PtrSafe keyword. Ключевое слово PtrSafe объявляет, что оператор Declare может безопасно выполняться в 64-разрядных средах разработки.The PtrSafe keyword asserts that a Declare statement is safe to run in 64-bit development environments.

Добавление ключевого слова PtrSafe к оператору Declare только указывает на то, что оператор Declare явно указывает целевые значения 64 — бит.Adding the PtrSafe keyword to a Declare statement only signifies that the Declare statement explicitly targets 64-bits. Все типы данных в операторе, требующем хранения 64-разрядов (в том числе возвращаемые значения и параметры), по-прежнему должны быть изменены для хранения 64-бит с использованием любого LongLong для 64-разрядных целых чисел или LongPtr для указателей и дескрипторов.All data types within the statement that need to store 64-bits (including return values and parameters) must still be modified to hold 64-bit quantities by using either LongLong for 64-bit integrals or LongPtr for pointers and handles.

См. такжеSee also

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.