dll einbinden
-
In dem Tut steht es genauso, wie ich es oben geschrieben habe.
Ich weiß, dass die dll mit MS Studio Net 2003 geschrieben wurde. Und ich habe auch noch die header-datei. Die Funktionen sind in einer Klasse. Da hab ich das so versucht einzubinden: Bezeichner_der_Klasse::Funktion
-
Form unter "public" die Funktion mit "__declspec(dllimport)" eingeleitet.
Das steht da so?? habe ich so nicht gefunden.
Vielleicht hilft das:
http://www.marquardtnet.info/cecke/tutorials.8/8_dll.html
-
apo schrieb:
Ich bekomme aber immer nur den Fehler, dass ")" fehlen würde...
Dass liegt wohl daran, dass du irgendwo eine Klammer zu wenig geschlossen hast

Du hast also wahrscheinlich kein Problem mit der DLL sondern eher mit der Syntax. Guck mal, ob du jede Klammer die du öffnest auch wirklich schließt!
-
Ich bin sicher kein Profi, aber qauch kein blutiger Anfänger! Jedenfalls habe ich keine Klammer vergessen, kann ich auch gar nicht, weil ich das copy&paste mäßig aus der header datei hab..
Kann es nicht daran liegen, dass die Funktionen der dll in einer Klasse sind, oder vielleicht an vs-net?
-
Vielleicht vorher irgendwo ne Klammer vergessen? es gibt manchmal Fälle wo der Compiler korrekte Zeilen reklamiert, weil vorhergegangene fehlerhaft sind...
-
Also um es nochmal deutlich zu sagen: Ich habe die dll NICHT geschrieben!
Aus der Header-Datei zur dll kann ich erkennen, dass die Klassenkopf so aussieht: class AFX_EXT_CLASS BezeichnerVielleicht kann der BCB nicht mit AFX_EXT_CLASS umgehen?
Kann mir wer sagen, wie ich auf die Methoden in der Klasse der dll zugreife? Mit dem Berecheichsoperator (::)??Noch etwas: Ich habe mit den programmen, die im borland/bin-verzeichnis sind rumgespielt. da sind 2, welche eine Liste aller Funktionen der dll in eine Textdatei schreibt. Jedoch ist diese Liste ein einziges Wirwar, die Fumtionen stehen nicht sauber da, sondern enthalten viele Zeichen.
Dann gibts da noch ein Programm, welches eine lib-datei aus der dll erstellt. Das fuktioniert aber gar nicht: In der Lib steht nur schwachsinn, und die dll ist auch überschrieben!
-
hi,
nutze auch dlls die mit vc++ geschrieben wurden. zuerst ne lib erzeugen, die dem borland formatg entspricht.
implib datei.lib datei.dll
die lib dem projekt hinzufgügen. danach die funktion mit extern zugänglich machen. hier nen bsp von meiner funktion:
extern "C" __desclspec(dllimport) int __stdcall Extract(const char* filename, const char* dirname);
Danach einfach die Funktion aufrufen.
Geht einwandfrei.
Philipp
-
Klar geht es mit einer Funktion. Er hat jedoch eine Klasse und will dort nur eine Methode nutzen. Die bindet er dann noch unter TForm ein.
So wird das nichts
-
Also die dll ist eine ERWEITERTE MFC-DLL.
Ich habe das hier gefunden: http://www.digitalmars.com/ctg/coff2omf.htmlWenn ich nun link ausführe, wächst die lib von 8KB auf 24KB an - gut.
Anschließend noch coff2omf: die lib ist nur noch 0,5KB groß. Natürlich funktioniert es dann immer noch nicht.Hat vielleicht irgendwer noch ein Tip?
-
Also die dll ist eine ERWEITERTE MFC-DLL.
Ich habe das hier gefunden: http://www.digitalmars.com/ctg/coff2omf.htmlEin Blick in das CBuilder6\Bin Verzeichnis hätte genügt.
Sorry, aber wenn du mit dem C++Builder und der VCL arbeitest; wozu eine MFC DLL??
-
Christian211 schrieb:
Sorry, aber wenn du mit dem C++Builder und der VCL arbeitest; wozu eine MFC DLL??
Vieleicht ist die nichtvon ihm, sondern von einem anderen Entwickler?!? Der mit VC programmiert hat....