Forum: PC-Programmierung Borland + FTDI


von Hila (Gast)


Lesenswert?

Hallo,
ich krieg das irgendwie nicht hin, die FTDI D2XX.dll im Borland Builder 
einzubinden, kann mir jemand helfen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Anstatt die Importlibrary zu verwenden, könntest Du auch klassisch mit 
den Win32-API-Funktionen LoadModule und GetProcAddress arbeiten. Das 
funktioniert dann mit jedem C-Compiler, nicht nur mit welchen, die das 
MS-Libraryformat verstehen. Weiterer Vorteil ist das so mögliche 
differenziertere Fehlerhandling - beim Verwenden einer Importlibrary 
motzt das OS, wenn die DLL nicht geladen werden kann, und die 
Applikation selbst wird gar nicht erst gestartet. LoadModule etc. würden 
es der Applikation erlauben, selbst mit hilfreicheren Fehlermeldungen 
darauf hinzuweisen oder auch Teilfunktionen, für die die DLL nicht 
erforderlich ist, so auszuführen.

Achso, Du weißt nicht, was eine Importlibrary ist? Im von FTDI 
heruntergeladenen Paket sollte nicht nur die DLL, sondern auch eine 
gleichnamige Library (*.lib) enthalten sein, sowie eine Headerdatei.

Du musst die Library statisch zu Deinem Projekt linken (sie also der 
Projektverwaltung irgendwie bekanntmachen). Wie das mit 
Borland-Compilern geht, kann ich Dir nicht sagen, da ich etwa 1993 
aufgehört* habe, die zu nutzen.


*) Das lag an der massiven Kundenverarsche, die mit Borland C++ 4.0 
einherging - angeblich ein 32-Bit-Compiler für Windows NT**, aber noch 
nicht mal unter Windows NT selbst lauffähig ... und der Debugger war 
einfach nur grässlich.

**) Windows NT 3.1. Lang ist's her.

von Hila (Gast)


Lesenswert?

naja das ist ja das problem
ich möchte die dll implizit reinladen, also im Grunde das einfachste was 
es gibt.
Doch der Linker sagt mir

[Linker Fehler] Error: 'C:\...\FTD2XX.LIB' contains invalid OMF record, 
Typ 0x21 (möglicherweise COFF)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Na, dann versteht der supertolle Borland-Linker halt keine Libraries im 
MS-Format.

Dann wirst Du Dir entweder mit einem zum Borland-Compiler gehörenden 
Tool so eine Importlibrary selber basteln müssen (durchforste mal die 
Dokumentation nach implib.exe), oder aber -wie bereits vorgeschlagen- 
die DLL nicht über eine Importlibrary, sondern "von Hand" über 
LoadModule/GetProcAddress anzusprechen.

von Arc N. (arc)


Lesenswert?


von Nuppi (Gast)


Lesenswert?

huhu,
ich weiss der Thread is schon etwas älter. Ich hab jedoch das selbe 
Problem (allerdings mit der ftcspi.lib), und suche mich seit geraumer 
Zeit dumm und dämlich.
In den CodeExamples (welche einwandfrei durchkompilieren), finde ich nix 
"entsprechendes". Irgendwas muss ich übersehen.

Gruss,
nuppi

von WEIF (Gast)


Lesenswert?

Hallo,

Borland verwendet ein anderes LIB-Format als MS :

Aus der Hilfe :

Creating an Import Library for a DLL

Type:

IMPLIB Options LibName [ DefFiles... | DLLs... ] [@ResponseFile]


du mußt daher mit Implib.exe deine eigene lib aus der dll erzeugen und 
ins Projekt einbinden.

ciao

WEIF

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.