Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#12

Re: C Funktion, um zwei Strings zu verbinden in DLL

  Alt 16. Aug 2006, 15:27
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)
  Mit Zitat antworten Zitat