Hey Leute,
ich hab jetzt ein bissle Zeit und hab beschlossen mich ma wieder mit Delphi zu beschäftigen.
Buch aufgeschlagen -> Dynamic Link Libraries, kligt ganz gut.
Eine
DLL geschrieben und erzeugt (TangensDLL.dll):
Delphi-Quellcode:
library TangensDLL;
uses
SysUtils,
Classes;
function Tangens(Wert:double): Double; stdcall;
begin
Result := sin(Wert)/cos(Wert);
end;
exports
Tangens;
begin
end.
So, danach kommt statisches Importieren.
Delphi-Quellcode:
unit TangensEXE;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function Tangens(Wert: double): double;
external '
TangensDLL.dll';
procedure TForm1.Button1Click(Sender: TObject);
var
vResult: double;
begin
try
vResult := Tangens(45);
except
ShowMessage('
Die Funktion Tangens existiert nicht.');
end;
Edit1.Text := FloatToStr(vResult);
end;
end.
Wenn ich jetzt den Button drücke, dann bekomme ich "1,61977519054386" raus.
Aber Tangens von 45° ist doch 1.
Im Buch steht, dass "function Tangens(Wert: double): double; external 'TangensDLL.dll';" im interface-Abschnitt stehen muss, aber wo endet interface und wenn ich die Zeile direkt unter interface tippe, dann bekomme ich immer jede Menge Fehlermeldungen.
THX voraus