![]() |
|
|
#1
|
||||
|
||||
![]() Так, хочу в свою прогу подключить планигы (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 ![]()
ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738) |
#2
|
|||
|
|||
![]() В инете дофига статей смотри там.
|
#3
|
||||
|
||||
![]() Умнейший конечно ответ, но я всё ровно не понимаю)
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ] Delphi 7 user ![]()
ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738) |
#4
|
|||
|
|||
![]() 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
|
||||
|
||||
![]() Цитата:
А вызвать как ? [ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ] Delphi 7 user ![]()
ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738) |
#6
|
|||
|
|||
![]() Если работаешь с плагинами, то во всех плагинах должна присутствовать
функция с одним именем (например PluginExec). |
#7
|
||||
|
||||
![]() Так как вызвать то ? )
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ] Delphi 7 user ![]()
ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738) |
#8
|
|||
|
|||
![]() 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; |