AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Prüfen, ob DLL registriert?

Offene Frage von "Irrgärtner"
Ein Thema von Irrgärtner · begonnen am 2. Jun 2007 · letzter Beitrag vom 3. Jun 2007
Antwort Antwort
Irrgärtner

Registriert seit: 2. Jun 2007
13 Beiträge
 
Delphi 2006 Enterprise
 
#1

Prüfen, ob DLL registriert?

  Alt 2. Jun 2007, 23:59
Hallo Gemeinde,

meine Frage lautet: wie kann ich prüfen, ob eine DLL registriert wurde (in der Registry)?

Ganz naiv: was hat es eigentlich damit auf sich? Es genügt doch bereits, daß eine DLL im Suchpfad liegt, damit sie geladen werden kann? (Hat jemand evtl. weiterführende Links?)

Nun könnte man einfach versuchen, sie vom Programm aus zu laden, und wenn man keinen Handle darauf zurückbekommt (oder Exception), dann weiß man, sie ist nicht vorhanden. Aber das ist nicht gewollt und eigentlich auch nicht die Fragestellung(?).

Muß man also die Registry durchsuchen? Wie oder besser wonach?
Es gab bereits einmal einen Beitragsfaden zu diesem Thema, der aber wenig ergiebig verlief.

Viele Grüße
Irrgärtner
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Prüfen, ob DLL registriert?

  Alt 3. Jun 2007, 00:10
Hallo, so ganz hab ich die Fragestellung nicht verstanden, aber sieh Dir mal den Unterschied zwischen statischem und dynamischem Laden von DLLs an. Hier mal ein Link zu Assarbad

Hth
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Irrgärtner

Registriert seit: 2. Jun 2007
13 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Prüfen, ob DLL registriert?

  Alt 3. Jun 2007, 15:49
Hallo,

tut mir leid, aber das hilft mir überhaupt nicht weiter.

Es gibt DLLs, die in der Registry eingetragen sind. Wie finde ich aus einem Delphi-Programm heraus heraus (äh...), ob eine bestimmte DLL bereits registriert wurde? Das muß ja irgendwo stehen?
Es fällt mir nicht leicht, das präziser zu formulieren, eben weil ich mich damit nicht auskenne. Wie sehen die Registry-Einträge aus und was ist zugeordnet (irgendwo stand ClassID oder GUID - was ist das)?

Vielen Dank im voraus
Irrgärtner
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Prüfen, ob DLL registriert?

  Alt 3. Jun 2007, 15:50
Hmmm, reden wir hier von OLE/COM?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Prüfen, ob DLL registriert?

  Alt 3. Jun 2007, 17:45
Eine 100%iger Test ob eine COM/Active-Control in einer DLL fehlerfrei registriert wurde kann man nur feststellen indem man die entsprechenden Interfaces dieser DLL instanziert. In der Registry kann viel stehen und es gibt genügend andere Gründe wieso ein COM/ActiveX trotzdem nicht läuft. Es reicht ja schon eine abhänige (nicht COM-)DLL in der falschen Version (Stichwort: DLL-Hölle).

Ansonsten stehen die Angaben in der Registry unter HKEY_CLASSES_ROOT bzw. im Unterverzeichnis CLSID.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz