- •1.Парадигмы программирования.
- •2.Языки программирования. Программа на алгоритмическом языке.
- •Раздел var резервирует место переменным в оперативной памяти. Их следует обязательно назвать и перечислить.
- •3.Алгоритм и его свойства.
- •4.Алгоритмический язык Pascal. Основные понятия языка.
- •5.Концепция типа данных в Pascal.
- •6.Данные целого типа в языке Pascal.
- •7.Данные вещественного типа в языке Pascal.
- •8.Данные логического типа в языке Pascal.(Boolean)
- •9.Данные символьного типа в языке Pascal.
- •10.Строки в языке Pascal.
- •11.Записи в языке Pascal.
- •12.Файловый тип данных в языке Pascal.
- •13.Структура программы на языке Pascal.
- •Раздел var резервирует место переменным в оперативной памяти. Их следует обязательно назвать и перечислить.
- •14.Стандартные процедуры и функции языка Pascal. Стандартные математические функции и процедуры Turbo Pascal
- •15.Подпрограммы в языке Pascal.
- •16.Процедуры с параметрами в языке Pascal. Типы параметров.
- •17.Процедуры без параметров в языке Pascal.
- •18.Функции в языке Pascal.
- •19.Модуль в языке Pascal. Его структура.
- •20.Алгоритмы нахождения минимального и максимального чисел.
- •21.Алгоритмы сортировки.
- •22.Ветвления в Pascal.
- •23.Циклы в Pascal.
- •Операторы ограничения и прерывания цикла
- •24.Массивы Pascal.
- •25.Работа со строками в Pascal.
- •26.Работа с файлами в Pascal.
- •27Объектно-ориентированное программирование.Основные концепции.
- •Концепции
- •28.Особенности программирования в визуальной среде Delphi. Объектно-ориентированные особенности языка
- •Полиморфизм Это методы различных объектов, которые могут иметь одинаковые имена, но по внутреннему содержимому отличаются друг от друга.
- •29.Типы данных Object Pascal.
- •30.Особенности программирования с использованием массивов в Delphi.
- •31.Особенности работы с файловым типом данных в Delphi.
- •Создание динамической библиотеки
Создание динамической библиотеки
Следующие несколько строк демонстрируют, как создать простой DLL, используя Delphi.
Начинающим Дельфистам нужно из меню выбрать File | New... DLL. Это создаст шаблон нового DLL в окне редактора. Выделите заданный по умолчанию текст и замените его следующим кодом:
library TestLibrary;
uses SysUtils, Classes, Dialogs;
procedure DllMessage; export;
begin
ShowMessage('Hello world from a Delphi DLL') ;
end;
exports DllMessage;
begin
end.
Если Вы посмотрите на файл проекта любого приложения Delphi, Вы увидите, что он начинается с зарезервированного слова Program. DLL в отличие от этого, начинается с зарезервированного слова Library. Затем это сопровождается пунктом uses для любых необходимых модулей. В этом простом примере за этим следует процедура по имени DllMessage, которая не делает ничего, кроме показа простого сообщения.
В конце этого текста, стоит инструкция exports. Здесь включен список подпрограмм, которые будут экспортированы из DLL и могут вызываться другими приложениями. Это означает, что, например, в DLL находится 5 процедур и только 2 из них (перечисленных в разделе exports) могут вызываться из внешних программ (3 из них подпрограммы в DLL).
Чтобы использовать этот простой DLL, мы должны скомпилировать его, нажав Ctrl+F9. Это создасть DLL по имени SimpleMessageDll.dll в папке проекта.
А теперь давайте посмотрим, как вызвать процедуру DllMessage из (статически загруженной) DLL.
Чтобы импортировать процедуру, содержащуюся в DLL, мы используем ключевое слово external в объявлении процедуры. Например, объявление процедуры DllMessage, показанной ранее, выглядела бы так:
procedure DllMessage; external 'SimpleMessageDLL.dll'
А вызов процедуры выглядит так:
DllMessage;
Полный код для формы Form1 с TButton по имени Button1 (для вызова функции DllMessage) выглядит так:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject) ;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
procedure DllMessage; external 'SimpleMessageDLL.dll'
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject) ;
begin
DllMessage;
end; end.