MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> DLL и Дельфи

Название:DLL и Дельфи
Просмотров:72
Раздел:Информатика, программирование
Ссылка:Скачать(9 KB)
Описание:Многие знают, что такое DLL (dynamic link library - динамические библиотеки). У библиотек есть немало преимуществ, достаточно веских, что бы их использовать. В этой статье мы научимся создавать и использовать динамические библиотеки в своих проектах.

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

DLL и Дельфи
    Думаю, многие знают, что такое DLL (dynamic link library - динамические библиотеки). У библиотек есть немало преимуществ, достаточно веских, что бы их использовать. В этой статье мы научимся создавать и использовать динамические библиотеки в своих проектах.
    Зачем они нужны
    А зачем эти самые библиотеки мне нужны? - спросите вы. Ну я не знаю, может они вам вообще не нужны. А может и жизненно необходимы. Перечислю возможности и преимущества библиотек:
    Универсальность. Любой программист, зная описания и имена функций, находящихся в библиотеке, может использовать их.
    Удобность отладки. Вы можете разместить несколько важных функций в библиотеке и обьявить их в программе. При этом вы будете работать с библиотекой, отлаживая эти функций, не трогая основную программу.
    Хранилища ресурсов.. В DLL можно хранить ресурсы, такие как рисунки, формы, иконки меню, и т.д.
    Взгляд на будущее. С помощью библиотек можно легко создавать плагины, расширяющие стандартные возможности программы. Т.е. можно не выпускать различные версии программы, а выпускать плагины или модифицированные (например с исправленными ошибками) версии библиотек.
    Совместное использование. Если библиотека загружена, то её могут использовать и другие приложения.
    Экономия ресурсов. Библиотеку можно загрузить и выгрузить тогда, когда это действительно необходимо. Например, программа в нужный момент загрузила DLL, вызвала функцию, сделала работу и выгрузила библиотеку до следующего раза. Налицо экономия памяти
    Вобщем DLL - зверь полезный и очень даже дружелюбный.
    Структура динамической библиотеки
    Что бы создать библиотеку в Delphi6 выберите File -> New -> Other и в появившемся окне выберите DLL Wizard. Дельфи сгенерирует шаблон для библиотеки:
    library Project;
    { Important note about DLL memory management: ShareMem must be the
    first unit in your library"s USES clause AND your project"s (select
    Project-View Source) USES clause if your DLL exports any procedures or
    functions that pass strings as parameters or function results. This
    applies to all strings passed to and from your DLL--even those that
    are nested in records and classes. ShareMem is the interface unit to
    the BORLNDMM.DLL shared memory manager, which must be deployed along
    with your DLL. To avoid using BORLNDMM.DLL, pass string information
    using PChar or ShortString parameters. }
    uses
    SysUtils,
    Classes;
    {$R *.res}
    begin
    end.
    В комментарии указывается на необходимость вставить ссылку на модуль ShareMem, если библиотека экспортирует длинные строки в параметрах обращения к подпрограммам или как результат функций. Эта ссылка должна быть первой как в предложении uses библиотеки, так и в uses файла проекта программы, которая использует эту библиотеку. Если подпрограммы библиотеки экспортируют строки ShortString или PChar, ссылаются на ShareMem не обязательно. Что бы не возникало недоразумений в своих библиотеках я рекомендую вместо типа String пользоваться PChar, а по необходимости конвертируйте типы функциями PChar (конветирует из String в PChar) и StrPas (конвертирует из PChar в String).
    Структура библиотеки похожа на структуру обычного модуля. Теперь создайте библиотеку с таким текстом:
    library Project2;
    uses
    SysUtils,
    Classes;
    function MyFunc(num1, num2, Errcode : Integer; Operation : PChar) : Integer; stdcall;
    begin
    try
    if Operation="plus" then
    Result := num1+num2;
    if Operation="minus" then
    Result := num1-num2;
    if Operation="multiply" then
    Result := num1*num2;
    if Operation="div" then
    Result := num1 div num2;
    if Operation="mod" then
    Result := num1 mod num2;
    except Result := Errcode;
    end;
    end;
    exports
    MyFunc INDEX 1 NAME "MathFunc";
    begin
    end.
    Сохраните это все куда нибудь и скомпилируйте (Ctrl+F9)
    Это будет демонстрационная библиотека, на которой я буду показывать различные приемы работы с DLL. ............




Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  



Похожие работы:

Название:История библиотек Франции
Просмотров:134
Описание: Содержание   Введение Национальная библиотека Франции Тургеневская библиотека в Париже Библиотека Мазарини Список используемой литературы Введение Темой своего реферата я выбрала исто

Название:Экспертиза строительных конструкций здания на примере детской библиотеки имени И.А. Крылова в г. Орле
Просмотров:136
Описание: Орловский государственный аграрный университет Инженерно-строительный институт Кафедра «Экспертизы и управления недвижимостью»Курсовой проект по дисциплине Экспертиза и инспектирование на тему Э

Название:Алфавитный каталог: его функции, назначение и организация на примере центральной библиотеки
Просмотров:249
Описание: Саратовское областное училище культуры Курсовая работа по предмету «Библиотечный каталог» Алфавитный каталог: его функции, назначения и организация на примере центральной библи

Название:Процесс становления и развития библиотеки в России как учреждения культуры
Просмотров:71
Описание: Введение  Актуальность темы заключается в том, что современная библиотека, преодолевая ряд определенных проблем коммуникационного, бытового и социального характеров, является достаточно прогрессивной систе

Название:Работа библиотек со старыми людьми
Просмотров:115
Описание: Содержание Введение Глава 1. Библиотека в современном обществе § 1.1 Значение публичных библиотек § 1.2 Публичные библиотеки в жизни местного сообщества § 1.3 Услуги публичных библиотек Глава 2. Пожилые г

 
     

Вечно с вами © MaterStudiorum.ru