Du går bare ind i Delphi Menuen (component/Import ActiveX Control) Der har du en liste med de activex componenter der er installeret. Og der kan du også installere et activex component.
Når active X (COM) componenter registreres så liggers netop disse "registreringer" ind i Windows' registrerings database, så det er blot et spørgsmål om at finde dem her.
F.eks. VSSpell Activ-X componenten der følger med Delphi kan du finde under:
HKEY_CLASSES_ROOT\VSPELLER...
Den løsning som Canman (hej Ven) foreslår vil sikkert kunne vise dig (har ikke kigget) de "oplysninger" som du skal finde i registrerings databasen. Når du således ved hvad du skal kigge efter så er det ingen sag at lave et Delphi program der kigger i registrerings databasen efter det samme (Eksemplet "bruges til noget andet" men viser princippet):
Du skal selvfølgelig huske en "Reg.Free;" inden "end;", og skulle du ikke lige kunen se det så vil program-stumpen læse (Integer) værdien af nøglen "PollInterval" der er registreret under "HKET_CURRENT_USER\Software\FccSoft\FccMessage"
Det "simple svar" ville være at bruge registrerings databasen "modsat", så i stedet for at læse værdier, så skal du skrive i Databasen (erstat linien "iVar := Reg.ReadInteger(_PollInterval);" med "Reg.WriteInteger(_PollInterval,iVar);").
Der findes sikkert en anden nemmere måde, med dertil har jeg arbejdet for lidt med COM (herunder Active-X).
Jeg har lige undersøgt det, og de kloge (Tak canman) siger at der findes et program i "Windows\System" der hedder "RegSvr32". Dette program kaldes med et parameter der "indeholder" filnavn (og sti) på det Active-X component der skal installeres.
Først: Jeg skal ikke være moderator eller så'en her, men er vi ikke alle enige om, at man IKKE kommenterer andre folks slå/taste/stave fejl? Gud vide at jeg selv har mit hyr med at ramme tasterne og 'Ekspertens' minimale input felt gør ikke sagen bedre.
Vedr. problemer med ActiveX: Det er klart, at der i RegDB'en er gemt informationer om alle installerede OCX'er/ActiveX komponter og at man her kan finde deres Class ID's/file locations etc. Hvis man således går ind under HKEY_CLASSES_ROOT\CLSID vil man finde en aller helvedes (undskyld) lang liste over GUID's, hvoraf nogle vil være på installerede ActiveX components. Jeg er dog ikke lige umiddelbart klar over hvor man finde en liste der skiller skidt fra kanel. At det kan lade sig gøre, er klart, for når både Delphi IDE'en og fx. M$Excel kan... så kan man vel også selv.
UPs: Jeg gik i ovenstående ud fra at man ønsker en liste over alle komponenter. Pellelil's svar af 9/2 beskriver ganske rigtigt hvorledes info om en installeret komponent findes.
Vedr. installation af komponent: Hvis din komponent er en Com-server, så vil mange af dem selv sørge for at installere sig selv (dvs opdatere RegDB'en) første/hvergang de køres (det gør fx. Word og Excel).
For at en Komponent kan være en ActiveX komponent, så skal den indehode en registrerings funktion (lidt ligesom en Delphi unit med en VCL komponent, skal indeholde en Register funktion for at kunne installeres). Hvordan og hvorledes kan jeg ikke lige huske, idet jeg ikke har rodet med det emne i lang tid, men det er den funktionalitet RegSvr32 udnytter - det kan man se'følig også gøre selv fra Delphi, uden at kalde RegSvr som et eksternt program
Nej jeg synes ikke at du er uretfærdig, tværdigmod du er sku' go' nok "delphi". Jeg takker for at du "kom mig til undsætning", men (trash)canman er en af mine venner (øhh forhenværende venner) så hans "udfald" var ikke så alvorligt som det måske kunne lyde.
Han får 5 point ekstra næste gang. Jeg syntes at du havde fortjent de 5 point ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.