Einzelnen Beitrag anzeigen

sko1
Online

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

DLL erste Gehversuche, Probleme

  Alt 31. Mai 2017, 12:00
Delphi-Version: 10 Berlin
Hallo,

ich habe hier ein merkwürdiges Phänomen:
Eine DLL die ich erstellt habe, addiert 2 Integer:

Delphi-Quellcode:
library Meine_DLL;


uses
  System.SysUtils,
  System.Classes;

{$R *.res}

function addiere(zahl1, zahl2: integer): integer; stdcall;
begin
  result := zahl1+zahl2;
end;


exports
  addiere;

begin
end.

Ein Programm soll die Funktion verwenden:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

function addiere(zahl1, zahl2: integer): integer; stdcall;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function addiere(zahl1, zahl2: integer): integer; stdcall;
  external 'Meine_DLL.dll';

procedure TForm1.Button1Click(Sender: TObject);
var
  e: integer;
  a, b: integer;
begin
  a := 13;
  b := 36;
  e := addiere(a, b);
  showmessage(e.ToString);
end;

end.

In der DLL kommt zahl1 = 13 und zahl2 = 53253984 an!

Hat jemand eine Idee?

Danke
Ciao
Stefan

Geändert von sko1 (31. Mai 2017 um 12:07 Uhr)
  Mit Zitat antworten Zitat