DllEntryPoint wird nicht Aufgerufen



  • Hallo,

    ich wollte gerade nur eine Dll mit meinem gutem altem Borland schreiben und scheitere an einem elementarem Problem.

    extern "C" int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
      MessageBox( NULL, "LOL", "Text", MB_OK );
      return 1;
    }
    

    den EP der dll habe ich testweise verkürzt da mein code erst garnicht aufgerufen wird sobald ich die DLL in ein programm lade :x

    habt ihr dabei erfahrungen oder seht ihr einen fehler in meinem code?
    ich benutze den borland c++ builder v. 6 und starte die dll über die option run -> parameters -> host application und dann normal run -> run ( f9 )



  • Lädt die Host-Apllikation die DLL denn dynamisch (LoadLibrary) oder statisch?
    Bei letzterem solltest du explizit eine Funktion der DLL aufrufen, damit die DLL überhaupt (vom Linker) gebunden wird.



  • Borland hatte oder hat da mit DLLs teilweise einen eigenen Standard mit DllEntryPoint statt DllMain, der zu Konfusionen führen kann. Auch sind die aus der DLL zu importierenden Funktionen zunächst mit implib als Importbibliothek bereitzustellen, sonst findet die Anwendung nichts.

    Zusatzfrage: Erstellt das DLL-Projekt überhaupt eine *.dll?


Anmelden zum Antworten