Yippieyeaho. Es geht.
Also als erstes __stdcall in den Projektoptionen eingestellt. Dann eine DEFF-Datei erstellt:
Code:
LIBRARY FirstDLL.dll
EXPORTS
add
addstr
Diese dem Linker bekannt gemacht: /DEF:FirstDLL.DEF und kompiliert. Rausgekommen ist eine
DLL mit nicht dekorierten Funktionsnamen. Aufrugf von Delphi, wie gehabt ohne das var in der Funktionsdeklaration. Puh, jetzt kan ich auch Feierabend machen.
Drei Dinge noch:
Wie machen das
API-Funktionen, dass man da in Delphi das Schlüsselwort
var benutzen muss.
Wie sicher ist die C-Funktion bezüglich BufferOverflows?
Und zu guter letzt, wie muss ich es machen, damit meine C-Funktion die erforderliche Größe des Buffers zurückgibt, falls dieser zu klein ist beim Aufruf?