Вход



    НОВОЕ В БИБЛИОТЕКЕ
● Дифференциальные уравнен...
● Дифференциальные уравнен...
● Дифференциальные уравнен...
● Составление дифференциал...
● Составление дифференциал...
● Производные высших поряд...
● Производные высших поряд...
● Дифференцирование тригон...
● Дифференцирование алгебр...
● Дифференцирование алгебр...

    НОВЫЕ ФАЙЛЫ
● Sm графики функций (beta...
● Graf_builder
● Учимся считать
● Мобильный справочник по ...
● Уникальный калькулятор
● Программа для построения...
● «Новости ПриМата» для An...
● Schedule Builder Light 2...
● График
● Sm Калькулятор


    ЛУЧШИЕ ПУБЛИКАЦИИ
● Бухаете? Тогда я иду к в...
● Программирование под And...
● Считаем сумму ряда
● Программирование под And...
● Программирование под And...
● Новый вирус - три десятк...
● Получить кнопку ТИЦ и Pa...
● Матричный калькулятор (3...
● Небольшая забава для про...
● Пара интересных задач

    ЛУЧШИЕ МАТЕРИАЛЫ
● Высшая математика. Лекци...
● Высшая математика. Лекци...
● Высшая Математика. Лекци...
● Умножение матриц (Паскал...
● Высшая математика. Лекци...
● Высшая Математика. Лекци...
● Высшая математика. Лекци...
● Сортировка Хоара (быстра...
● Темы курсовых работ (укр...
● Теория графов плюс бонус...

    10 ЛУЧШИХ ФАЙЛОВ
● Эконометрика
● Таблица производных
● Шпаргалка по высшей мате...
● Гмурман. Теория вероятно...
● Математические формулы
● Таблица интегралов
● Таблицы неопределенных и...
● Программирование на язык...
● Программирование на Си (...
● Программирование на язык...


     
 
Карта программистов

Конструктор информеров



На сайте всего: 12
Посетителей: 12
Пользователей: 0

Создать сайт бесплатно
 БИБЛИОТЕКА УЧЕБНЫХ МАТЕРИАЛОВ 

ГЛАВНАЯ » БИБЛИОТЕКА » ПРОГРАММИРОВАНИЕ » МАТЕРИАЛ К ЛЕКЦИЯМ [ ДОБАВИТЬ ]

Динамическое создание DLL
library TwoDLLProject;
uses
 SysUtils,Classes;

function Summ(X,Y:Integer):Integer; StdCall;
begin
 Result:=X+Y;
end;

exports Summ;
{$R *.res}
begin
end.

*******************************************************

unit UnitDin;

interface
uses
 Windows,Messages,SysUtils,Variants,Classes,
 Graphics,Controls,Forms,Dialogs,StdCtrls;

type TAddIntegers=function(p1,p2:integer):integer; stdcall; {тип функции}

type
 TForm1 = class(TForm)
 Button1: TButton;

procedure Button1Click(Sender: TObject);
private
 Summ: TAddIntegers; {задание типа функции}
 {Private declarations}
public
 {Public declarations}
end;

var
 Form1: TForm1;
implementation
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 h:integer;
 Handle:LongWord;
begin
 {загрузка библиотеки}
 Handle:=LoadLibrary('TwoDLLProject.dll');
 if (Handle=0) then
  begin
    ShowMessage('Библ.TwoDLLProject.dll не найдена');
    Halt;
   end;
{получение указателя на функцию}
 @Summ:=GetProcAddress(Handle,'Summ');
 h:=Summ(12,20); {вызов функции}
 ShowMessage(IntToStr(h)); {вывод рез-та}
 FreeLibrary(Handle); {выгрузка библиотеки}
end;

end.


Просмотров [ 848 ]  ●  09.02.08  ●   Рейтинг  [ 0% ]


Комментариев: [ 3 ]

0  
Bat`kovitz  ● 02.03.11
Динамическое подключение (компоновка) DLL, но никак не создание.


0  
admin  ● 02.03.11
согласен


0  
zaychik  ● 19.03.08
fear help eek




  Ваше Имя  



   





Украинская Баннерная Сеть