Unexpected Error occured (dll)

    • GM 8

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ja, das ist der GM. Sobald irgendwas mit der DLL nicht funktioniert und der Debugger nichts sagt, kommt ein unexpexted error. Stelle sicher, dass du die DLL im debugmodus compilierst und hoffe, dass du auf diese weise an den Fehler ran kommst.

      Generell ist es immer eine gute Idee, den Fehler mit z.B. Messageboxen zu lokalisieren. Dafür bastle ich zwischen jedem wichtigen abschnitt eine Messagebox ein, und kann sehen, wie weit der Code ausgeführt wird. Diese Schritte wiederhole ich und kreise jedes mal einen kleineres Stück code ein, bis ich genau die Zeile gefunden habe, die Probleme macht.

      MfG SDX
    • Wie SDX gesagt hat, kann es an vielem liegen. Eine andere Methode ist es auch nach und nach alles auszuklammern...
      Vielleicht kannst du ja eine Teile deines Codes zeigen (wenn du deinen Quellcode nicht zeigen willst, kannst du ja ein paar Sachen weglassen).
      Vielleicht übernimmt deine DLL auch kein const char * (c++) oder PChar (Delphi) (ich weiß nicht welche Sprache du nutzt).

      Aber wiegesagt, ohne weitere Informationen ist es schwierig den Fehler zu lokalisieren.

      maxda
    • ich glaube die datei muss einen bestimmten Aufbau haben. Wenn ich zum Beispiel mit Hilfe der Vorgabe aus C++ eine dll erstelle, kann ich sie dann im GM auch nicht verwenden. Sprich die Templates für dll-Dateien müssen angepasst werden.
      Das heißt die Hauptdatei der dll sieht in c++ in etwa so aus

      C-Quellcode

      1. /* Replace "dll.h" with the name of your header */
      2. #include "dll.h"
      3. #include <windows.h>
      4. export double percentage(double a, double b)
      5. {
      6. return (100/b*a);
      7. }
      8. // Weitere Funktionen
      9. }


      Wichtig ist in dem Fall die Datei dll.h, welche man laut dll-Tutorial für den GM ändern muss.
      So sollte die finale Datei aussehen (Wichtig ist dabei afaik das "__declspec"):
      )

      Quellcode

      1. #ifndef _DLL_H_
      2. #define export extern "C" __declspec (dllexport)
      3. #define _DLL_H_
      4. #if BUILDING_DLL
      5. # define DLLIMPORT __declspec (dllexport)
      6. #else /* Not BUILDING_DLL */
      7. # define DLLIMPORT __declspec (dllimport)
      8. #endif /* Not BUILDING_DLL */
      9. class DLLIMPORT DllClass
      10. {
      11. public:
      12. DllClass();
      13. virtual ~DllClass(void);
      14. private:
      15. };
      16. #endif /* _DLL_H_ */
      Alles anzeigen


      Wie gesagt, ist jetz für c++, aber vll hilfts dir was.

      © 2008 by Teamgrill Productions

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MasterXY ()