öffnen dll
-
Kann mir einer sagen was es noch sein kann ich bin ratlos.
Der Compiler und auch der linker der dll sowie der exe geben keine Fehler aus nur eben beim ausführen bekomme ich immernoch den oben genanten fehler.
-
HMODULE hModule = LoadLibrary("dlltest.dll");
Mach mal das und schau ob er immer noch null ist
-
Tut mir Leid Tom aber es funktioniert auch nicht.
Ich hatte vor einigen Monaten mal ne test-dll geschrieben mit 2 Funktionen und hatte meinen jetzigen code nur ersetz und die eine Funktion gelöscht zumindest in der dll und in der exe habe ich auch nur die Teiele gelöscht die ich klar zur anderen funktion zuteilen konnte. ansonsten habe ich es auch wie ganz oben im code die dll geöffnen oder zumindest im Programm benutzt um daten zu bekommen.
-
Ich vermut jetzt eher der Fehler liegt in der DLL, wenn ich die alte dll die ja 2 Funktionen hat mit der jetzigen exe öffnen kann ich die eine Funktion immernoch auslesen.
-
Du hast meine Frage nicht beantwortet. "Funktioniert nicht" ist keine Antwort.
-
Der Handel ist immernoch null. Ich habe auch nochmal die .def Datei der dll kontrolliert und meine da ist kein fehler drin
-
Wenn der HANDLE NULL ist findet er die DLL nicht oder die DLL ist falsch
-
Ich habe als Betriebssystem Win 2k und die dll liegt in C:/Winnt/system von da müste er doch die dll finden oder? Hier noch der Code der übergabefunktion aus der dll:
extern "C" _declspec(dllexport) int _stdcall ReadPosition( int *ptr_ncolours, float *ptr_pderrs, float *ptr_cderrs) { int i=0; float test[5]; float test2[5]; test[0]=gelbpd; test[1]=schwarzpd; test[2]=rotpd; test2[0]=gelbcd; test2[1]=schwarzcd; test2[2]=rotcd; *ptr_ncolours=3; for(i=0;i<=4;i++) { *ptr_pderrs=test[i]; ptr_pderrs++; *ptr_cderrs=test2[i]; ptr_cderrs++; } return 2; }
-
in system32 liegen die dll`s.
Oder du hast sie im Localordner
-
Was die DLL beinhaltet ist an dem Punkt völlig schnuppe. Erst wenn der dll Handle != NULL ist spielt das ne rolle. Und vom immer wieder das gleiche schreiben wirds nich Informativer ;o)
-
http://www.sensorme.de/dateien/Plugintest.zip
Lade dir das mal runter und suche dir die DLÖL aus. Das Programm gibt dann aus ob sie geladen werden konnte oder nicht
-
der Plugintest sagt mir "Fehler beim laden der DLL"
-
Hast du die DLL auch ausgewählt. Wenn ja dann liegt ein Problem bei der DLL vor. Wenn du nur den Namen eingegeben hast kann immer noch sein das sie nicht gefunden wir.
-
wie meinst du das mit angewählt. Im ersten beitrag habe ich meinen kompletten aufruf der dll doch geschrieben. Muss etwa den kompletten pfad der dll angeben?
-
versuch mal die dll auszuwählen gibt einenbutton dafür
-
Gibt es für den Button auch noch einen Funktionsnamen? Aber selbst bei deinem Testprogramm kann ich die DLL nicht öffnen also denke ich schon das ich die DLL richtig anwähle
-
Hast mich falsch verstanden. Mein Programm hat neben dem eingabefeld einen Button. Hier öffnet sich der Browsdialog. Dort suchst du die DLL und wählst sie aus.
Wenn sie dann nicht geladen werden kann hast du ein Problem mit der DLL.Sollte sie geladen werden dann wählst du die DLL nicht aus sondern gibst nur den Namen im EIngabefeld ein. Dann wird sie in den Pfaden gesucht. SOllte sie dann nicht geladen werden, wird sie einfach nur nicht gefunden.
-
Ich habe die dll direkt mit dem Button ausgewählt ich habe mir seid gestern auch schon gedacht das es an der dll liegt aber ich wies nicht wodran.