Образования и науки российской федерации



Pdf көрінісі
бет27/56
Дата13.03.2023
өлшемі0.74 Mb.
#470699
1   ...   23   24   25   26   27   28   29   30   ...   56
PDF-приложения 
При создании приложений, использующих платформу Microsoft .NET, 
возникает задача применения в собственных проектах уже готовых 
библиотек кода, написанных на других языках. Сжатые сроки разработки и 
уже имеющиеся программные блоки не позволяют отказаться от готовых 
решений, поэтому их приходится использовать, встраивая в структуру 
собственных проектов. 
Код, выполняющийся под управлением среды выполнения (в случае 
платформы .NET — среды Common Language Runtime), называется 
управляемым
.


36 
Код, 
запускаемый 
не 
под 
управлением 
среды, 
называется 
неуправляемым
. Примером неуправляемого кода могут служить COM-
компоненты, Microsoft ActiveX интерфейсы и функции API Win32. 
Microsoft .NET Framework позволяет взаимодействовать с COM-
компонентами, COM+-службами, внешними типами библиотек и разными 
службами операционной системы.
Платформа .NET Framework предлагает две службы взаимодействия 
управляемого кода с неуправляемым — Platform Invoke и COM 
interoperability, которые используют реальные возможности проекта. 
1. Создайте новое Windows-приложение и назовите его PDF Reader
2. Добавьте на форму элементы OpenFileDialog и MenuStrip
3. Установите следующие свойства формы Form1
Свойство
Значение
Text 
Обозреватель документов в формате PDF 
WindowState Maximized 
4. Свойство FileName элемента OpenFileDialog сделайте пустым. 
5. Добавьте пункт меню верхнего уровня File c командами Open и 
Exit. 
6. Выберите Tools | Choose Toolbox Items… 
7. На вкладке COM Components выберите Adobe Acrobat (PDF) 
Reader (этот компонент появляется после установки программы Adobe 
Acrobat Reader) и нажмите OK. Убедитесь, что на панели Toolbox этот ЭУ 
действительно появился. 
8. Перенесите Adobe Acrobat Reader на форму и установите 
свойству Dock значение Fill, а свойству (Name)axAcroPDF1 (от имени 
объекта будет вызываться нужные нам методы, в принципе имя может 
быть любым). 
9. Добавьте обработчик пункта меню Open
private void openToolStripMenuItem_Click (object sender, 
System.EventArgs e) 

openFileDialog1.Filter = "Файлы pdf|*.pdf"; 
openFileDialog1.ShowDialog(); 
axAcroPDF1.LoadFile(openFileDialog1.FileName); 

10. Реализуйте обработчик события Click для пункта меню Exit
11. Постройте и запустите приложение. При открытии документа в 
формате pdf происходит, по сути, встраивание в форму интерфейса 
программы Adobe Acrobat Reader. 
Упражнение 2. Вызов функции API 
Службы Platform Invoke позволяют управляемому коду запускать 
функции неуправляемого кода, которые находятся в файлах библиотек 
динамической компоновки (DLL).


37 
Эти службы предоставляют механизмы обнаружения и запуска 
неуправляемых функций и преобразование типов данных входящих и 
исходящих аргументов функции.
Когда управляемый код запускает функцию неуправляемого кода, 
локализованную в DLL-файле, службы Platform Invoke находят этот DLL 
файл, загружают его в оперативную память и находят адрес функции в 
памяти. После этого службы передают входящие аргументы функции в 
стек, 
преобразовывают 
данные, 
которые 
необходимо 
перевести, 
эмулируют 
сборку 
мусора 
и 
передают 
управление 
по 
адресу 
неуправляемой функции в памяти. 
Первым шагом в запуске неуправляемой функции является 
объявление функции. Функция должна быть статической (static) и внешней 
(extern). Далее следует импорт библиотеки, содержащей эту функцию.
Импортировать библиотеку нужно, используя атрибут DllImport
который находится в пространстве имен System.Runtime.InteropServices. 
1. Создайте новое приложение и назовите его WinAnim. 
2. Расположите на форме три кнопки и установите следующие 
свойства формы и кнопок: 
Свойство Значение 


Достарыңызбен бөлісу:
1   ...   23   24   25   26   27   28   29   30   ...   56




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет