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

Вниз

Подключение новой DLL работающей программой.   Найти похожие ветки 

 
Nk   (2004-04-29 12:12) [0]

Уважаемые Мастер,помогите pls, задача такая программа тестирует помехоустойчивые кодеки,написанные различными авторами и оформленными в виде Dll. К содержанию Dll можно предъявить любые требования, например, чтобы  в ней содержались процедуры: procedure Coder(InFileName,OutFileName:string); procedure DeCoder(InFileName,OutFileName:string). Нужно, чтобы пользователь тестирующей программы мог самостоятельно (без доступа к исходникам)
добавить к ней новую Dll. Тестирующая прога должна увидеть новую библиотеку и уметь использовать ее функции. Заранее спасибо за любые дельные советы и рекомендации.


 
Goida ©   (2004-04-29 12:20) [1]

что-то такое:
LoadLibrary(string): handle;


 
panov ©   (2004-04-29 12:26) [2]

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

 B8toB7:         function(aSrc: String):String;
 B7toB8:         function(aSrc: String):String;

var
 Form1: TForm1;
 hLib: THandle;

implementation

{$R *.dfm}

procedure UnloadLib;
begin
 FreeLibrary(hLib);
 hLib := 0;
end;

procedure LoadLib;
begin
 if hLib<>0 then Exit;
 hLib := LoadLibrary("Test2.dll");
 if (hLib=0) then
 begin
   raise Exception.Create("Error ");
   Exit;
 end;

 @B8toB7 :=              GetProcAddress(hLib,"B8toB7");
 @B7toB8 :=              GetProcAddress(hLib,"B7toB8");

end;

initialization
 hLib := 0;

end.


 
evvcom ©   (2004-04-29 13:32) [3]

Т.е. речь идет, я так понимаю, о плагинах.
Сейчас наиболее модным способом решения сей задачи является использование COM-технологии. Об этом много информации.
Но есть и более древний, как мне кажется, способ. DLL-плугин экспортирует обязательный набор функций, который извещает вызывающую программу о функциях, реализованных в плагине, возможно типах и др. Реализовать можно по-разному. Единственное о чем нужно помнить - это не использовать типы данных и вызовы, характерные только для Delphi. Это не означает, что нельзя использовать собственные структуры, можно, но они не должны быть специфичны для Delphi. Ну и соответственно не использовать Дельфовый менеджер памяти.



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

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

Наверх




Память: 0.47 MB
Время: 0.048 c
1-1083153868
Term
2004-04-28 16:04
2004.05.16
Как добавить кнопку на ToolBar кнопку программно


14-1082624535
Иногда они возвращаются
2004-04-22 13:02
2004.05.16
Любая тема ветки.


3-1082096661
Новик
2004-04-16 10:24
2004.05.16
Сложный отчет в FastReport


6-1080540889
NorthMan
2004-03-29 10:14
2004.05.16
пытаюсь определить IP-адрес подключенного клиента


1-1083078734
td
2004-04-27 19:12
2004.05.16
про dll совсем элементарное %)