{ 1. Art }
unit auslagerdatei;
interface
uses
Windows;
type
TSummenFunktion =
function (zahl1, zahl2: Integer) : Integer;
stdCall;
function addieren(zahl1, zahl2: integer): Integer;
implementation
function addieren(zahl1, zahl2: Integer): Integer;
var
SummenFunktion: TSummenfunktion;
Handle: THandle;
begin
Handle := LoadLibary(PChar(ExtractFilePath(ParamStr(0)) + '
rechnen.dll'));
if Handle <> 0
then
begin
@SummenFunktion := GetProcAddress(
Handle, '
addiere');
if @SummenFunktion <>
nil then
begin
Result := SummenFunktion(zahl1, zahl2);
end;
FreeLibary(
Handle);
end;
end;
end.
{ 2. Art }
unit pro;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function Send(Titel: PChar; Msg: Cardinal): Boolean;
external '
Tests.dll';
procedure TForm1.Button1Click(Sender: TObject);
begin
Send('
Tf_MainProg', WM_CLOSE);
end;
end.