Zitat von
Luckie:
LIBRARY FirstDLL.dll
Kannst du dir sparen, du brauchts nur die EXPORTS
Zitat von
Luckie:
Wie machen das
API-Funktionen, dass man da in Delphi das Schlüsselwort
var benutzen muss.
Code:
void Foo(DWORD * Bar)
oder
void Foo(PDWORD Bar)
Lässt sich so (1)
procedure Foo(Bar: PDWORD)
so (2)
procedure Foo(const Bar: DWORD)
so (3)
procedure Foo(var Bar: DWORD)
oder so (4)
procedure Foo(out Bar: DWORD)
übersetzen.
Die Entscheidung hängt davon ab, ob Bar
nil sein darf (1) oder nicht (2-4). Im letzteren Falle zwingt man den Delphi-Entwickler eine DWORD-Variable (bzw. impliziet deren Adresse) zu übergeben.
Zitat von
Luckie:
Wie sicher ist die C-Funktion bezüglich BufferOverflows?
Die von dir verwendeten, gar nicht.
Zitat von
Luckie:
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?
Ausrechnen?
(woher soll deine C-Funktion die Größe wissen, sie wird nicht übergeben)