Использование MS ReportViewer с MFC - PullRequest
0 голосов
/ 02 июля 2011

Я поддерживаю устаревшее приложение MFC C ++ (VS2005) и хочу вызвать некоторые отчеты SSRS (MS Reporting Services).Я надеялся использовать элемент управления MS Report Viewer, но он работает только с .Net.У меня есть некоторые идеи, но я продолжаю думать, что я работаю против некоторых традиционных знаний.Я надеюсь получить второе мнение.

У нас уже есть настройка сервера отчетов (обработка удаленного сервера).Было бы неплохо вызывать отчеты напрямую из этого приложения MFC (например, показывать сводный отчет для клиента и т. Д.).Сейчас мы просто вызываем Internet Explorer напрямую с параметрами в URL.Это просто, это работает, но это скорее ограничение.Например, я не могу настроить параметры принтера.

Я упомяну, что наш проект не компилируется с параметром / clr - мы используем несколько сторонних библиотек, и между этими и другими мы получаем слишком много ошибок компоновки.Просто невозможно попытаться заставить его работать с этим проектом.

Мне пришла в голову идея создать простое приложение на c #, которое оборачивает ReportViewer, и управлять им с помощью нескольких параметров командной строки (сервер, отчет).название).Тем не менее, это не очень помогает с параметрами - мне нужно было бы придумать какой-то способ отправки параметров, а затем наша программа-обертка должна была бы разобрать их и т. Д.

Я также подумал оСоздание библиотеки DLL и вызов ее из MFC, но потом я продолжаю думать, что у меня снова возникнет та же проблема с параметрами.

Было бы очень хорошо, если бы существовала версия просмотра отчетов для MFC, но любой поиск, который я проводил в Интернете, ничего не дает.Мне потребовалось некоторое время, чтобы выяснить все, что мне нужно, чтобы сделать правильные вызовы из моей программы C #.У кого-нибудь есть предложения?

1 Ответ

0 голосов
/ 09 августа 2011

Я решил пока что просто придерживаться прямого вызова Internet Explorer.В случае, если кому-то интересно, как вызвать IE напрямую, просто прочитайте его путь из реестра в строку и добавьте «/iexplore.exe» в конец.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE

В этом месте прочитайте строку"Путь"

...