Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2008, 18:53   #1
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию Экспорт класса из ДЛЛ

Ну вообщем нашел в инете такую реализацию:
В общем модуле:
Код:
type
  TPlugin = class;
  TPluginClass = class of TPlugin;
  TPluginFunc = function: TPluginClass;

  TPlugin = class(TForm) // или TFrame, или TComponent
  public
    procedure Action1; dynamic; abstract;
    function Status1: Integer; dynamic; abstract;
  end;

В плагине:
Код:
type
  TPlugin1 = class(TPlugin)
  public
    procedure Action1; override;
    function Status1: Integer; override;
  end;

function GetPluginClass: TPluginClass;
begin
  Result := TPlugin1;
end;

exports
  GetPluginClass;
В вызывающей программе:
Код:
var
  hLib: THandle;
  Func: TPluginFunc;
begin
  hLib := LoadLibrary('Plugin1.dll');
  if hLib <> 0 then
  begin
    Func := TPluginFunc(GetProcAddress(hLib, 'GetPluginClass'));
    if Assigned(Func) then
    begin
      Plugin := Func.Create(nil);  // срабатывает виртуальный конструктор
      Plugin.Action1;
      if Plugin.Status1 <> 0 then
        Plugin.Action1;
      // и т. д.
    end
    else
      // не найдена функция
  end
  else
    // библиотека не найдена
end;
Только чет разобраться немогу, да еще и ошыбки вылетают. Может у кого то есть еще какие идеи или исходники по теме.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 21.05.2008, 19:09   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

А что за ошибки ?
С виду все нормально. Должно работать.
--------------------------------------------------------
А вот и пример:
Вложения
Тип файла: rar test.rar (182.2 Кб, 16 просмотров)

Последний раз редактировалось alexBlack; 21.05.2008 в 19:34.
alexBlack вне форума Ответить с цитированием
Старый 21.05.2008, 19:31   #3
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Все ошибок нет, простоя я там неправильно кое что сделал
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт из Access в Excel, Экспорт из отчётов в таблицу Excel Kissedbythegod Microsoft Office Access 1 31.05.2008 22:15
Экспорт в Word Constellation БД в Delphi 5 15.04.2008 18:47
импорт и экспорт ГОСЕАН БД в Delphi 8 27.02.2008 02:55
Экспорт формы в EXE prizrak1390 Общие вопросы Delphi 9 30.01.2008 13:19
экспорт таблицы Karl_Karlovi4 Общие вопросы Delphi 1 17.01.2008 13:33