Problem mit DLL

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Noobody

Betreff: Problem mit DLL

BeitragDi, Nov 11, 2008 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie ihr vielleicht wisst, murkse ich grade an einer kleinen Physik - DLL rum, die in Blitz verwendbar ist.
Dabei ist es jetzt jedoch zu einem Problem gekommen, das mir unerklärlich ist und mich regelrecht in den Wahnsinn treibt.

Die DLL funktioniert auf manchen Computern reibungslos, auf anderen jedoch beendet sich die mit Blitz kompilierte Applikation mit der hübschen Fehlermeldung "Userlib not found".
Dabei spielt es keine Rolle, ob die DLL nun direkt bei der .exe liegt oder im System32 - Ordner.
Am Anfang habe ich vermutet, dass mein Blitz - Compiler vielleicht spinnt und habe darum auf zwei Systemen, bei denen es nicht funktioniert hat, versucht zu kompilieren.
Die DLL und die Decls lagen dabei, wie es sich gehört, im Userlibs - Ordner. Als ich aber ein kleines Testprogramm kompilieren wollte, das eine Testfunktion aus der DLL aufruft, beendete sich Blitz wieder mit der oben genannten Fehlermeldung und markierte die Zeile, wo die Funktion aufgerufen wird.

Das ganze ist mir äusserst schleierhaft. Die DLL - Funktionen sind alle so deklariert, wie von Blitz Research vorgeschrieben.

Kennt sich jemand mit dem Thema aus und weiss vielleicht, woran es liegt?
Ich wäre für jeden Vorschlag dankbar - eine DLL, die nur auf der Hälfte der Zielsysteme funktioniert, ist leider nicht besonders nützlich Confused
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

ChristianK

BeitragDi, Nov 11, 2008 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte vielleicht daran liegen, dass eine Version der C-Runtime gelinkt wird, die nicht auf allen PCs vorhanden ist. Mit welchem Compiler erstellst du die DLL?
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Noobody

BeitragDi, Nov 11, 2008 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit Microsoft Visual C++ 2008 Express Edition.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

ChristianK

BeitragDi, Nov 11, 2008 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau mal in den Projekteinstellungen unter C/C++ -> Codegenerierung. Wenn dort Multithreaded-DLL ausgewählt ist, ändere es auf Multithreaded. Dann wird die C-Runtime statisch mit der DLL gelinkt.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Noobody

BeitragDi, Nov 11, 2008 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Tatsächlich, jetzt funktioniert es einwandfrei.
Vielen Dank für deine Hilfe!
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group