2014-02-20 1 views
1

Больше прямого ответа для себя и других, которые могут поддерживать устаревшие приложения VFP с использованием библиотеки классов _Crypt.vcx из Visual Foxpro.CryptAcquireContext Fails в VFP в Windows 7

Недавно я перешел на новую машину Windows 7-64bit для разработки и должен был поддерживать, как описано в старой системе. Класс _Crypt.vcx используется для шифрования/дешифрования. Во время запуска приложения на новом компьютере у меня возникла проблема с получением/установкой значений дешифрования.

Ошибка при попытке получить указатель поставщика при вызове «CryptAcquireContext» во время инициализации класса.

По какой-то причине, и я не знаю, почему, есть свойство в классе под названием

This.cContainerName

и из файла «WinCrypt.h», если значение не предусмотрено это свойство, оно было установлено в «FOXPRO_APP». Опять же, по какой-то причине, я не знаю, но через отладку я заставил изменить это значение на что-нибудь еще, например, просто «Visual FoxPro», и работа шифрования.

Это ТОЛЬКО изменение, которое я сделал, и оно теперь работает в VFP на машинах Windows 7.

Итак, теперь, в этом классе, я изменил значение по умолчанию на «Visual FoxPro» (или вы можете изменить его в файле заголовка), и он работает.

Надеюсь, это поможет любому в будущем.

ответ

2

Опять же, я ответил сам, надеясь, что это поможет кому-либо еще в сохранении прежней поддержки.