#c# #javascript #.net #debugging #activexobject
#c# #javascript #.net #отладка #activexobject
Вопрос:
У меня есть приложение C # .NET для Windows, которое будет получать HTML-файлы и использовать их для отображения данных. В HTML-файлах будет javascript для облегчения анализа / отображения данных, и один из них использует ActiveXObject для отображения файлов PDF.
Когда я устанавливаю двоичную версию приложения Windows, файл PDF отображается правильно и работает нормально. Когда я запускаюсь из режима отладки с VS2008, я получаю сообщение об ошибке:
Не удалось загрузить страницу сведений. В скрипте произошло исключение. Имя ошибки: TypeError. Сообщение об ошибке: Объект не поддерживает это свойство или метод
Они оба ссылаются на одну и ту же HTML-страницу, разница лишь в том, что одна из них является бинарной установкой, а другая — просто запущенной моей отладочной сборкой.
Мне нужно заставить его работать в режиме отладки, чтобы я мог протестировать, но я не уверен, что не так; Любые предложения определенно будут оценены!
Редактировать: Извините, вот HTML-код:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Received Fax Preview Page</title>
</head>
<body>
<object data="myfile.pdf" type="application/pdf" width="800" height="600">SUP</object>
</body>
</html>
И я просто использую веб-браузер C # для ее отображения.
_webBrowser.DocumentText = htmlDoc;
Комментарии:
1. Можете ли вы предоставить немного больше информации, такой как используемый вами PDF activex и код, инициализирующий объект?
2. Откуда осуществляется доступ к файлу pdf (т. Е. Где он хранится)? (О, и я предполагаю, что мы смотрим на элемент управления winforms WebBrowser, учитывая тот факт, что вы используете свойство DocumentText?)
3. Доступ к PDF-файлу осуществлялся с веб-сервера, и да, это был элемент управления winforms WebBrowser.
Ответ №1:
Наконец-то это заработало, переключившись на платформу x86 в VS (с любого процессора) и создав проект. Я предполагаю, что, поскольку моя машина x64, в режиме отладки приложение нацелено на все компоненты x64, а IE x64 не может загружать PDF-файлы, но, возможно, в двоичном коде (который равен x64) для открытия PDF-файла используется общий бит IE x86?
Не уверен на 100% в объяснении, но сейчас оно работает.