Probleme mit einer auf DirectDraw basierenden dll



  • Gut, wenn du die Funktion umbenannt hast, gibts schonmal keine Mehrdeutigkeit mehr. Und die DLL musst du deinem Programm bekannt machen, entweder dynamisch laden oder statisch linken. Infos dazu: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39394.html

    gruß
    Martin



  • mad_martin schrieb:

    Gut, wenn du die Funktion umbenannt hast, gibts schonmal keine Mehrdeutigkeit mehr. Und die DLL musst du deinem Programm bekannt machen, entweder dynamisch laden oder statisch linken. Infos dazu: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39394.html

    gruß
    Martin

    Das hab ich gemacht. Alle anderen Funktionen kann ich auch benutzen, bloß diese nicht.



  • Wie sieht denn deine Fehlermeldung jetzt aus?



  • Es kommt immer noch der selbe Fehler



  • Dann hast du irgendwo die SDK-Funktion LoadBitmap() verwendet und die passende DLL vergessen.



  • mad_martin schrieb:

    Dann hast du irgendwo die SDK-Funktion LoadBitmap() verwendet und die passende DLL vergessen.

    Nee, ich meinte das es zwar immer noch die selbe Fehlermeldung ist, bloß diesmal auf die Funktion LoadBild bezogen.



  • Wird die Funktion denn überhaupt exportiert?
    www.dependencywalker.com

    p.S.: wenn sie nicht exportiert wird hilft vielleicht __declspec(dllexport) (wenn der Compiler es unterstützt, was jeder Windows Compiler sollte)



  • hustbaer schrieb:

    Wird die Funktion denn überhaupt exportiert?
    www.dependencywalker.com

    p.S.: wenn sie nicht exportiert wird hilft vielleicht __declspec(dllexport) (wenn der Compiler es unterstützt, was jeder Windows Compiler sollte)

    Das Programm sagt mir, das die MSJAVA.DLL und EFSADU.DLL nicht gefunden werden kann. Und die MPR.DLL wird mit nem Roten Blog dargestellt. was hat das zu bedeuten?
    Kann es sein, das mein Problem mit den beiden dlls zusammen hängt? Und wo kann ich sie herbekommen?

    Und wie kann ich überprüfen ob die Funktion exportiert wird?



  • Fehlende dependencies führen in dem Fall nicht dazu dass beim Linken was nicht funktioniert, sondern beim Starten.
    Welche funktionen von deiner DLL exportiert werden zeigt dir dependency-walker auch an.
    Starte den einfach, lade die DLL, klick sonst nirgends mehr hin, dann hast du rechts in der 2. Liste von oben mit nem lustigen grauen Icon daneben alle Exporte deiner DLL.



  • hustbaer schrieb:

    Fehlende dependencies führen in dem Fall nicht dazu dass beim Linken was nicht funktioniert, sondern beim Starten.
    Welche funktionen von deiner DLL exportiert werden zeigt dir dependency-walker auch an.
    Starte den einfach, lade die DLL, klick sonst nirgends mehr hin, dann hast du rechts in der 2. Liste von oben mit nem lustigen grauen Icon daneben alle Exporte deiner DLL.

    Meinst du das graue Icon, wo C++ drine steht? das ist bei allen Funktionen aufgeführt.



  • So, hab die dll jetzt noch mal komplett neu geschrieben, und diesmal Funktioniert alles. Den fehler konnte ich aber trotzdem nich finden XD

    Naja, trotzdem danke an euch _



  • P schrieb:

    hustbaer schrieb:

    Fehlende dependencies führen in dem Fall nicht dazu dass beim Linken was nicht funktioniert, sondern beim Starten.
    Welche funktionen von deiner DLL exportiert werden zeigt dir dependency-walker auch an.
    Starte den einfach, lade die DLL, klick sonst nirgends mehr hin, dann hast du rechts in der 2. Liste von oben mit nem lustigen grauen Icon daneben alle Exporte deiner DLL.

    Meinst du das graue Icon, wo C++ drine steht? das ist bei allen Funktionen aufgeführt.

    Ja das kann ein C oder ein C++ Icon sein und es ist bei allen Funktionen dabei. Nur wenn eine Funktion da garnicht vorkommt, dann wird sie nicht exportiert.


Anmelden zum Antworten