Announcement

Collapse
No announcement yet.

Pruefen ob eine Dll geladen ist...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Pruefen ob eine Dll geladen ist...

    Hallo leute...

    OpenLibrary := Laed eine Dll in den Speicher..
    FreeLibrary := Gibt eine Dll wieder Frei...

    Gibt es eine moeglich zu ueberpruefen ob eine Dll schon geladen ist... Moechte nicht unnoetig Openlibrary aufrufen... (das mit dem Refrenzzaehler find ich etwas umstaendlich)

    Vielleicht gibts was wie FindLibrary oder so...

    Gruss und schonmal Danke

    Najib Amaioua

  • #2
    GetModuleHandl

    Comment


    • #3
      Hi Najib

      Deine Annahmen sind schlichtweg falsch.
      <li>1. LoadLibrary() mit einer schon geladenen DLL ist NICHT wesentlich langsamer als GetModuleHandle()
      <li>2. LoadLibrary() und der interne Referenzzähler stellen sicher das eine importierte Funtionsadresse so lange gültig bleibt bis FreeLibrary() aufgerufen wird. Damit ist LoadLibrary() sicher.
      <li>3. die Windows-Side-by-Side DLL's MÜSSEN per LoadLibrary() geladen werden, sie funktionieren NICHT mit GetModuleHandle()
      <li>4. der Aufwand mit LoadLibrary() und GetProcAddress() ist unwesentlich größer, nämlich der zusaätzliche Aufruf von FreeLibrary().<br>

      Gruß Hage

      Comment


      • #4
        Im Zusammenhang mit LoadLibrary/FreeLibrary wird immer auch vom internen Referenzzähler gesprochen. Lässt sich der aktuelle Wert des Referenzzählers auch auslesen und wenn ja, wie?
        <P>
        Gruss Uw

        Comment

        Working...
        X