Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.06.2007, 23:02
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
Смех Работа с DLL

Так, хочу в свою прогу подключить планигы (dll файлы)

Есть вопросы :
1. Как создать dll и что в нём писать.
2. Что нужно написать в проге чтобы вызвать dll и выполнить его

Предположим что нужно сделать простую прогу

В dll'kе нужна функция FindFile(S: String):Boolen
Функция проверят, if FileExist(S) then ShowMessage('ОК');

А в Form1 будет : Edit1 и Button1
Как нажимаем на Button1 то загрузается dll и идёт функция:
FindFile(Form1.Edit1.Text);

Помогите разобраца с dll'ками ) Ваш нуб X-rem
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
  #2  
Старый 17.06.2007, 13:47
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

В инете дофига статей смотри там.
Ответить с цитированием
  #3  
Старый 17.06.2007, 13:49
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию

Умнейший конечно ответ, но я всё ровно не понимаю)
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
  #4  
Старый 17.06.2007, 13:52
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

library Plugin;

uses
SysUtils,
Classes,
dialogs,Forms,
Unit1 in 'Unit1.pas' {Form1};

function FindFiles
begin
---
end;


function PluginName:Pchar;
begin
PluginName := 'Ля - ля -ля';
end;

procedure PluginExec;
begin
FindFiles;
end;


{$R *.res}

exports PluginName, PluginExec,FindFiles;

begin

end.


Что не понятного?
Ответить с цитированием
  #5  
Старый 17.06.2007, 13:54
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию

Цитата:
Сообщение от ART
library Plugin;

uses
SysUtils,
Classes,
dialogs,Forms,
Unit1 in 'Unit1.pas' {Form1};

function FindFiles
begin
---
end;


function PluginName:Pchar;
begin
PluginName := 'Ля - ля -ля';
end;

procedure PluginExec;
begin
FindFiles;
end;


{$R *.res}

exports PluginName, PluginExec,FindFiles;

begin

end.


Что не понятного?

А вызвать как ?
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
  #6  
Старый 17.06.2007, 13:54
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Если работаешь с плагинами, то во всех плагинах должна присутствовать
функция с одним именем (например PluginExec).
Ответить с цитированием
  #7  
Старый 17.06.2007, 13:55
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию

Так как вызвать то ? )
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
  #8  
Старый 17.06.2007, 13:56
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

procedure TForm1.PluginExecute(FileName:string);
var
PlugExec : procedure;
handle : Thandle;
begin
handle := LoadLibrary(Pchar(FileName)); //Загружаем dll
if handle <> 0 then begin
@plugExec := GetProcAddress(handle,'PluginExec');
PlugExec;
FreeLibrary(handle);
end;
end;
Ответить с цитированием
  #9  
Старый 17.06.2007, 13:57
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию

А где описать TForm1.PluginExecute(FileName:string); ?
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
  #10  
Старый 17.06.2007, 13:58
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

В главной программе!
Ответить с цитированием
  #11  
Старый 17.06.2007, 13:59
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию

А где именно , в private в public в type или в impletentation
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
  #12  
Старый 17.06.2007, 14:00
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

да где хош.
Ответить с цитированием
  #13  
Старый 17.06.2007, 14:01
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию

Щяс я проверю, из форума не уходи ) Я в Личку напишу )
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter