Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Probleme mit LoadLibrary

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.10.2007, 13:39 Uhr
~JoKlu
Gast


Hallo zusammen,
ich möchte dynamisch im Programmcode eine bestimmte dll über den Befehl LoadLibrary(...) einladen. Die dll befindet sich im Programmverzeichnis.
Das funktioniert bei mir auch alles problemlos. Wenn ich die Anwendung allerdings mitsamt des kompletten Verzeichnisses auf einen anderen Rechner packe und ausführe, wir die Bibliothek nicht mehr gefunden und ich erhalte bei der Methoden LoadLibrary einen NULL-Pointer zurück.

Habt ihr ein ähnliches Problem schon einmal gehabt oder könnt mir sagen, woran es liegen könnte?

Viele Dank im Voraus
JoKlu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.10.2007, 13:55 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
also 2. Möglichkeiten:

1. die Bibliothek hat andere Abhängigkeiten, wodurch das laden fehlschlägt wenn es diese auf dem anderen PC nicht findet
2. die Ladereihenfolge ist anders. LoadLibraryEx verwenden. Der Defaultwert für die Dll-Suche ist bei Vista z.b nicht mehr Arbeitsverzeichnis,System, sondern System,Arbeitsverzeichnis. Wenn dort schon eine dll mit gleichem namen existiert wirds nicht geladen oder die falsche geladen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.10.2007, 14:16 Uhr
~JoKlu
Gast


Hi,
zu Möglichkeit 1:
ich benutze im Header der dll keinerlei Abhängigkeiten. In der cpp-Datei inkludiere ich lediglich
#include <conio.h>

zu Möglichkeit 2:
beides sind Windows XP-Betriebssysteme. Die dll gibt es definitiv nicht noch einmal im system-Verzeichnis.

Komisch
Aber danke für die Ratschläge!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.10.2007, 14:37 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Mit dem DepencyWalker kannst du dir alle Abhängigkeiten der Dll anschauen und auch welche unter Umständen auf dem aktuellen System fehlen. Nur um sicher zu gehen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.10.2007, 14:44 Uhr
~JoKlu
Gast


Wow,
danke! Es fehlt die MSVCR80.DLL. Hast du da zufällig auch so ne schnelle Antwort, ob ich die vielleicht mit in die dll reincompilieren kann?
Die dll wird für ein Projekt in meiner Firma benutzt und die msvcr80.dll auf alle systeme zu kopieren wäre mir unlieb.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.10.2007, 15:04 Uhr
ao

(Operator)



Zitat von ~JoKlu:
Wow,
Die dll wird für ein Projekt in meiner Firma benutzt und die msvcr80.dll auf alle systeme zu kopieren wäre mir unlieb.


Darfst du aber, sollst du sogar. msvcr heißt MicroSoft Visual C Runtime library. Die ist dazu da, überall hin mitgenommen zu werden.

Gruß,
ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.10.2007, 15:19 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Nein, du musst das Microsoft Visual C++ 2005 Redistributable Package auf dem PC installieren.

Hier mal der Link für VS 2005 mit Service Pack 1
www.microsoft.com/downloads/details.aspx?FamilyID=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: