Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi C-Library in Delphi einbinden (https://www.delphipraxis.net/59456-c-library-delphi-einbinden.html)

Der Jan 23. Dez 2005 11:29

Re: C-Library in Delphi einbinden
 
Zitat:

Zitat von Flocke
Wenn du selbst in Delphi die Variable nicht brauchst, dann deklariere sie einfach als Funktion. Ist ein billiger Trick, aber du willst ja nur dem Linker das Symbol bekannt machen.
Delphi-Quellcode:
function __errno: intger; external 'msvcrt.dll';

naja, wenn es nur darum geht, es dem Linker bekannt zu machen, würde es auch reichen in meiner Unit zu schreiben:
Delphi-Quellcode:
var _errno: integer;
Das Problem ist, das diese Variablen u.U. was wichtiges enthalten und von den "importierten" C-Funktionen gebraucht werden. "_errno" ist da wohl kein gutes Beispiel, weil intern kaum genutzt, aber es gibt ja auch wichtige wie _fdiv oder _chartype.
Oder hab ich hier vielleicht einfach nur nen Denkfehler und es reicht, wenn man den linker ruhigstellt?

Zitat:

Zitat von Flocke
Hast du sie denn so deklariert?
Delphi-Quellcode:
function strlen: integer; cdecl; external 'msvcrt.dll';
oder
Delphi-Quellcode:
procedure strlen; cdecl; external 'msvcrt.dll';

Klar. :) Mißverständnis:
Zitat:

Zitat von Flocke
Wenn du die Routinen nicht benutzt, dann reicht es wahrscheinlich sogar aus, sie ohne wirklichen Prototypen zu deklarieren - es muss ja nur der Name bekannt sein.

Ich benutze die ja eh nicht, sondern nur die externe C-Lib die ich einbinden will. und hier wird nur bei den Funktionen gemeckert, die auch wirklich gebraucht werden, also ist das definieren ohne Prototyp hinfällig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz