AxAcroPDF - Класс Vista64 не зарегистрированная ошибка

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

8
задан Oli 24 September 2008 в 14:51
поделиться

3 ответа

Вы не можете преобразовать элемент управления ActiveX Adobe в 64 бита сами, но можно вынудить приложение работать в режиме на 32 бита, ставя цель платформы к x86.

Для инструкций для Вашей версии Visual Studio посмотрите раздел 1.44 из Проблем Когда Используя Microsoft Visual Studio 2005

14
ответ дан 5 December 2019 в 08:26
поделиться

Платформа .NET 1.1 всегда предназначается для центральных процессоров на 32 бита, в то время как платформа .NET 2.0 и выше может предназначаться для 32 битов или 64 битов согласно processorArchitecture свойству декларации программы, измененной опцией 'Platform Target' Visual Studio IDE. С опцией по умолчанию 'Any CPU' код IL компилируется согласно платформе, но конечно COM звонят в сбои компонента AxAcroPDF 32 битов, если платформа составляет 64 бита. Просто восстановите EXE для предназначения для платформы на 32 бита только. Это хорошо работает с эмулятором WOW64 в Vista 64 бита.

6
ответ дан 5 December 2019 в 08:26
поделиться

Используйте изоляцию DLL, работы с каждым приложением COM + на 32 бита. Посмотрите больше в: http://support.microsoft.com/kb/281335

С этим решением можно изолировать приложение COM + на 32 бита в отдельный процесс на 32 бита.

Приложения на 64 бита ищут установленные объекты COM + в: HKLM\Software\Classes, но приложения на 32 бита используют HKLM\Software\WOW6432\Classes

0
ответ дан 5 December 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: