Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Как написать плагин к своей программе?   Найти похожие ветки 

 
Lefan   (2004-08-28 14:08) [0]

Приветсвую всех!!!
(незнаю в какую ветку с этим вопросом)

Вот написал софтину, докачка по ФТП... простенькая очень, просто качает, докачивает...
Хочется реализовать у нее поддержку плагинов.
Т.е. например плагин, который обраватывает заявки и сам ставит в закачку файл, другой например формирует список файлов...

Ды как сделать поддержку?
Хотелось бы увидеть исходники софтины, которая поддержует плагины, и исходник ее плагина...

Заранее благодареню.
С уважением Алексей


 
SammIk ©   (2004-08-28 14:53) [1]

Тут где-то есть про это статья, или в факе, что- то видел.
Да в нете много про это написано.
Исчите сударь, исчите


 
OSokin ©   (2004-09-01 17:47) [2]

Вот, немного переделал ту процедурку. Вот юнит:
unit PluginDLL;

interface

uses
 Windows;

type
 Tdllprocptr=function(wnd:hwnd;params:string):boolean;

var
 dllprocptr:Tdllprocptr=nil;
 LibInstance : HMODULE=0;

procedure PlugIn(wnd:hwnd;params,mainfuncname,filename:string);

implementation

procedure PlugIn(wnd:hwnd;params,mainfuncname,filename:string);
begin
// Проверим, загружена ли DLL

if LibInstance=0 then Begin

 // Не загружена, попробуем загрузить

 LibInstance := LoadLibrary(pchar(filename));

 // Проверим, успешна ли загрузка (LibInstance=0 - неуспешно)

 If LibInstance=0 then Begin

  MessageBox(0,pchar("Ошибка загрузки библиотеки "+filename),pchar("Ошибка"),MB_ICONERROR and MB_OK);

  exit;

 end;

 // Ищем функцию по ее имени (имя должно точно совпадать)

 DllProcPtr := TDllProcPtr(GetProcAddress(LibInstance,pchar(mainfuncname)));

 // Проверим, нашли ли (если нашли, то Assigned вернет true)

 if not Assigned(DllProcPtr) then Begin

  // Не нашли - выгружаем DLL из памяти

  FreeLibrary(LibInstance);

  LibInstance:=0;

  //ShowMessage("Ошибка: функция "+mainprocname+" не найдена");
  MessageBox(0,pchar("Ошибка: функция "+mainfuncname+" не найдена"),pchar("Ошибка"),MB_ICONERROR and MB_OK);

  exit;

 end;

 // Непосредственно вызов функции

 DllProcPtr(wnd,params);

 // Выгрузка библиотеки

 FreeLibrary(LibInstance);

 LibInstance:=0;

end;
end;

end.


 
Семен Сорокин ©   (2004-09-01 18:18) [3]

http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/mastering/plugins.htm



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
14-1093587971
КаПиБаРа
2004-08-27 10:26
2004.09.19
Опрос2


1-1093943496
Wolfram
2004-08-31 13:11
2004.09.19
Непонятная проблема с timetostr


3-1093024956
chester
2004-08-20 22:02
2004.09.19
Проблема с подключением таблицы из FoxPro


6-1089282957
Гость778
2004-07-08 14:35
2004.09.19
Подскажите как вытащить нужную информацию с сайта курса валют


1-1094267367
Aono4ever
2004-09-04 07:09
2004.09.19
Переход к фиксированному значению через текущее