AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Feststellen Auslesen ob ActiveX Control registriert
Thema durchsuchen
Ansicht
Themen-Optionen

Feststellen Auslesen ob ActiveX Control registriert

Ein Thema von DSCHUCH · begonnen am 1. Aug 2012 · letzter Beitrag vom 2. Aug 2012
Antwort Antwort
DSCHUCH

Registriert seit: 6. Jun 2007
Ort: Dresden
185 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Feststellen Auslesen ob ActiveX Control registriert

  Alt 1. Aug 2012, 07:28
Hoi, ich versuche gerade herauszufinden wie ich festellen kann, ob ein ActiveX Control bereits registriert ist. Bei Google findet man zwar viel aber genau ist das Problem. Evtl weiß es ja jemand ad hoc?

Thx, Daniel
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#2

AW: Feststellen Auslesen ob ActiveX Control registriert

  Alt 1. Aug 2012, 07:39
mir fällt da erstmal die -zugegeben unsaubere- Variante ein, versuchen das Control zu erzeugen (CreateOleObject?).
Das ganze in einem Try-Except-Block. Im Except-Fall ist der Rückgabewert halt false, ansonsten true...

edit: alles ungetestet... habe kein Delphi hier
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Feststellen Auslesen ob ActiveX Control registriert

  Alt 1. Aug 2012, 08:07
mir fällt da erstmal die -zugegeben unsaubere- Variante ein, versuchen das Control zu erzeugen (CreateOleObject?).
Das ganze in einem Try-Except-Block. Im Except-Fall ist der Rückgabewert halt false, ansonsten true...
Ist aber die einzige Lösung um 100% festzustellen ob es nicht nur installiert ist sondern auch funktioniert.
Ansonsten halt die Classs-ID in der Registry suchen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Feststellen Auslesen ob ActiveX Control registriert

  Alt 1. Aug 2012, 11:51
Folgende Funktion stammt von Luckie:

Delphi-Quellcode:
function ProgIDExists(const ProgID:WideString):Boolean;
var
  tmp : TGUID;
begin
  Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), tmp));
end;

// Beispiel:
// Gibt zurück ob das Mozilla ActiveX Objekt installiert ist
if ProgIDExists('Mozilla.Browser.1') then
  ShowMessage('Ist installiert :-)');
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#5

AW: Feststellen Auslesen ob ActiveX Control registriert

  Alt 2. Aug 2012, 13:37
Waber was nimmt man da?
ProgIDExists('Mozilla.Browser.1') , ProgIDExists('Mozilla.Browser.2') , ..., oder doch eher ProgIDExists('Mozilla.Browser') (von der Erstinstallation)

Einiges davon lassen die Deinstallationsprogramme auch gerne zurück, oder das ActiveX ist defekt, oder ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Feststellen Auslesen ob ActiveX Control registriert

  Alt 2. Aug 2012, 14:57
Dann schau doch in die Registry!

aber im Ernst, zumindestens bei den Office-Produkten verweisen die alle auf einen Punkt, von daher sollte es egal sein.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:46 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