![]() |
Delphi-Version: 10 Berlin
DLL erste Gehversuche, Probleme
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 |
AW: DLL erste Gehversuche, Probleme
Deklarier die Funktion in der DLL auch mal mit
Delphi-Quellcode:
.
stdcall;
|
AW: DLL erste Gehversuche, Probleme
Hatte ich eben auch gesehen, das Problem bleibt!
Nein, Mist, nur Source ändern hilft hier nicht, ich muss, trotz dass ich im Debugger bin, die DLL erst neu erstellen lassen! Und damit : Problem gelöst :-) Ciao Stefan |
AW: DLL erste Gehversuche, Probleme
Wenn ich stdcall hinzufüge funktioniert es. Steht außerdem auch hier so beschrieben
![]() |
AW: DLL erste Gehversuche, Probleme
Zitat:
|
AW: DLL erste Gehversuche, Probleme
Ich habe eine Projektgruppe, welche die DLL und die benutzende Anwendung beinhaltet.
"Früher erstellen" bei der DLL habe ich angekreuzt, wenn ich aber mit F9 das Debugging der Anwendung starte werden eventuelle vorherige Änderungen im Code der DLL nicht wirksam, erst wenn ich da direkt bei der DLL auf Erstellen klicke! Ciao Stefan |
AW: DLL erste Gehversuche, Probleme
Früher/später erstellen in der Projektgruppe bezieht sich doch nur auf die Build-Reihenfolge, oder täusche ich mich da? Man muss dann ein Build/Compile All machen, damit auch alle Projekte erstellt werden.
|
AW: DLL erste Gehversuche, Probleme
Liste der Anhänge anzeigen (Anzahl: 1)
Oder wie schon geschrieben einfach die Abhängigkeiten festlegen. Bei einem größeren Projekt mit mehreren DLLs wird das zwar schnell lästig, aber bei einem Testprojekt ist das machbar.
Anhang 47441 |
AW: DLL erste Gehversuche, Probleme
Vielen herzlichen Dank!
Die Abhängigkeiten waren die Lösung! Jetzt kann ich DLL-Code ändern und muss nur die aufrufende App starten, die DLL ist dann bereits auf neuem Stand :-) Ciao Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz