🗊 Презентация DLL Dynamic Link Library

Категория: Образование
Нажмите для полного просмотра!
DLL Dynamic Link Library, слайд №1 DLL Dynamic Link Library, слайд №2 DLL Dynamic Link Library, слайд №3 DLL Dynamic Link Library, слайд №4 DLL Dynamic Link Library, слайд №5 DLL Dynamic Link Library, слайд №6 DLL Dynamic Link Library, слайд №7 DLL Dynamic Link Library, слайд №8 DLL Dynamic Link Library, слайд №9 DLL Dynamic Link Library, слайд №10 DLL Dynamic Link Library, слайд №11 DLL Dynamic Link Library, слайд №12 DLL Dynamic Link Library, слайд №13 DLL Dynamic Link Library, слайд №14 DLL Dynamic Link Library, слайд №15 DLL Dynamic Link Library, слайд №16

Вы можете ознакомиться и скачать презентацию на тему DLL Dynamic Link Library. Доклад-сообщение содержит 16 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


DLL Dynamic Link Library
Описание слайда:
DLL Dynamic Link Library

Слайд 2


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

Слайд 3


Копия приложения представляет из себя контекст, в котором выполняется модуль приложения. DLL - библиотека также является модулем. Она находится в...
Описание слайда:
Копия приложения представляет из себя контекст, в котором выполняется модуль приложения. DLL - библиотека также является модулем. Она находится в памяти в единственном экземпляре и содержит сегмент кода и ресурсы, а также сегмент данных

Слайд 4


DLL - библиотека, в отличие от приложения не имеет ни стека, ни очереди сообщений. Функции, помещенные в DLL, выполняются в контексте вызвавшего...
Описание слайда:
DLL - библиотека, в отличие от приложения не имеет ни стека, ни очереди сообщений. Функции, помещенные в DLL, выполняются в контексте вызвавшего приложения, пользуясь его стеком. Но эти же функции используют сегмент данных, принадлежащий библиотеке, а не копии приложения DLL - библиотека, в отличие от приложения не имеет ни стека, ни очереди сообщений. Функции, помещенные в DLL, выполняются в контексте вызвавшего приложения, пользуясь его стеком. Но эти же функции используют сегмент данных, принадлежащий библиотеке, а не копии приложения Экономия памяти достигается за счет того, что все запущенные приложения используют один модуль DLL, не включая те или иные стандартные функции в состав своих модулей.

Слайд 5


Экономия памяти достигается за счет того, что все запущенные приложения используют один модуль DLL, не включая те или иные стандартные функции в...
Описание слайда:
Экономия памяти достигается за счет того, что все запущенные приложения используют один модуль DLL, не включая те или иные стандартные функции в состав своих модулей.

Слайд 6


Создание DLL в Delphi (экспорт) library ProjectDLL; { информативные строк.} uses SysUtils, Classes; {$R *.RES} exports begin end.
Описание слайда:
Создание DLL в Delphi (экспорт) library ProjectDLL; { информативные строк.} uses SysUtils, Classes; {$R *.RES} exports begin end.

Слайд 7


Exports exports Func1 index 10 name 'Fun', Func3 index 11, Func4 index 11,//Ошибка, такой индекс уже существует Func5 name 'Don'; Объявлять можно и...
Описание слайда:
Exports exports Func1 index 10 name 'Fun', Func3 index 11, Func4 index 11,//Ошибка, такой индекс уже существует Func5 name 'Don'; Объявлять можно и так: exports Func1 index 10 name 'Fun', exports Func2 Insert, exports Func3 index 11 Резидентные exports ExportByName name 'MYEXPORTPROC' resident;

Слайд 8


Использование DLL в Delphi (импорт) В вашей программе следует объявить функции, импортируемые из DLL таким образом: procedure ImportByName;external...
Описание слайда:
Использование DLL в Delphi (импорт) В вашей программе следует объявить функции, импортируемые из DLL таким образом: procedure ImportByName;external 'MYDLL' name 'MYEXPORTPROC'; procedure ImportByOrdinal; external 'MYDLL' index 10; procedure MyExportFunc1; external 'MYDLL'; Этот способ называется статическим импортом.

Слайд 9


Динамическая загрузка dll type TMyProc = procedure(Handle: THandle); stdcall; процедурный тип функции подгружаемый из библиотеки; var Handle :...
Описание слайда:
Динамическая загрузка dll type TMyProc = procedure(Handle: THandle); stdcall; процедурный тип функции подгружаемый из библиотеки; var Handle : THandle; - указатель на библиотеку MyImportProc : TMyProc; - подгружаемая функция begin Handle:=LoadLibrary('MYDLL');-динамическая загрузка DLL @MyImportProc:=GetProcAddress(Handle,'MYEXPORTPROC'); Получение адреса точки входа нужной функции FreeLibrary(Handle); - Освобождение ресурса end;

Слайд 10


Пример
Описание слайда:
Пример

Слайд 11


library ProjectDLL; library ProjectDLL; uses SysUtils, Classes; {$R *.RES} exports ShowAbout index 10; begin end.
Описание слайда:
library ProjectDLL; library ProjectDLL; uses SysUtils, Classes; {$R *.RES} exports ShowAbout index 10; begin end.

Слайд 12


File->New Form File->New Form
Описание слайда:
File->New Form File->New Form

Слайд 13


текст модуля var Form1: TForm1; procedure ShowAbout(Handle: THandle);export;stdcall; после implementation и ключа {$R *.DFM}: procedure...
Описание слайда:
текст модуля var Form1: TForm1; procedure ShowAbout(Handle: THandle);export;stdcall; после implementation и ключа {$R *.DFM}: procedure ShowAbout(Handle: THandle); begin //Установить указатель на приложение Application.Handle := Handle; //Создать форму Form1:= TForm1.Create(Application); //Отобразить Form1.ShowModal; //Очистить Form1.Free; end;

Слайд 14


В новом проекте unit Unit2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; procedure...
Описание слайда:
В новом проекте unit Unit2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; procedure ShowAbout(Handle: THandle)stdcall; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; procedure ShowAbout;external 'ProjectDLL.dll' index 10; implementation

Слайд 15


Вызов функции из DLL Теперь поместим на форму кнопку и создадим для неё следующее событие: procedure TForm1.Button1Click(Sender: TObject); begin...
Описание слайда:
Вызов функции из DLL Теперь поместим на форму кнопку и создадим для неё следующее событие: procedure TForm1.Button1Click(Sender: TObject); begin ShowAbout(Handle); end;

Слайд 16


library MyFirstDLL; uses SysUtils, Classes, Forms, Windows; procedure HelloWorld(AForm : TForm); begin MessageBox(AForm.Handle, Hello world!', DLL...
Описание слайда:
library MyFirstDLL; uses SysUtils, Classes, Forms, Windows; procedure HelloWorld(AForm : TForm); begin MessageBox(AForm.Handle, Hello world!', DLL Message Box', MB_OK or MB_ICONEXCLAMATION); end; exports HelloWorld; begin end.



Теги Dynamic Link Library
Похожие презентации
Mypresentation.ru
Загрузить презентацию