Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ActiveX-Komponente benutzen (https://www.delphipraxis.net/199999-activex-komponente-benutzen.html)

Aeon34 9. Mär 2019 12:24

ActiveX-Komponente benutzen
 
Hallo,

ich möchte in einer Delphi-Anwendung das VtChart benutzen, welches jedoch eine ActiveX-Komponente ist.
Das Problem ist nun, dass die Anwendung teilweise nicht gestartet werden kann.

Das heißt, dass die Fehlermeldung "Klasse nicht registriert" erscheint. Auf bspw. einem PC, auf dem Windows XP installiert ist, funktioniert die Anwendung wie gewünscht.

Wie kann ich dafür sorgen, dass diese Komponente und damit auch die Anwendung überall genutzt werden kann?

Bernhard Geyer 9. Mär 2019 12:29

AW: ActiveX-Komponente benutzen
 
Du musst das ActiveX mit Adminrechten registieren.
Sagt ja auch die Fehlermeldung.

Aber in 2019 noch ActiveX-KOmponenten neu Einsetzen?
Wieso das? Delphi bietet auch mit TChart eine gute Chart-Komponente ohne DLL-Hölle von ActiveX.

Aeon34 9. Mär 2019 12:38

AW: ActiveX-Komponente benutzen
 
Wie kann ich diese Registrierung mit Admin-Rechten durchführen?

Alternativen kann ich leider nicht nutzen, da die TChart-Komponente nicht bei der Auswahl zur Verfügung steht, sondern nur das VtChart.

Bernhard Geyer 9. Mär 2019 12:39

AW: ActiveX-Komponente benutzen
 
Welchst Delphi-Version hast du den?
TChart ist fast überall dabei

Aeon34 9. Mär 2019 12:41

AW: ActiveX-Komponente benutzen
 
Ich nutze eine Delphi 5 Version der Schule

Bernhard Geyer 9. Mär 2019 12:51

AW: ActiveX-Komponente benutzen
 
Und in Mathe nutzt ihre den Rechenschieber, oder?

Mittlerweile gibt es aktuelle Versionen kostenlos.
https://www.embarcadero.com/de/products/delphi/starter

Delphi 5 ist 20 Jahre alt. Entsprechend sind die Möglichkeiten die man heutzutage in einer Programmiersprache erwarten würde doch sehr eingeschränkt.
Auch läuft es mit aktuellen OS (außer du hast noch XP/Windows 2000 im Einsatz) viel besser.

Aeon34 9. Mär 2019 12:55

AW: ActiveX-Komponente benutzen
 
Ok, danke für den Hinweis.

Ist es dennoch ein großer Aufwand, ActiveX-Komponenten zu registrieren?

Das Problem bei der Verwendung der Delphi Community Edition ist wahrscheinlich, dass ich die Anwendung dann nicht mehr mit Delphi 5 öffnen kann. Die generierte .exe sollte ja aber trotzdem überall funktionieren.

EWeiss 9. Mär 2019 13:13

AW: ActiveX-Komponente benutzen
 
Zitat:

Aber in 2019 noch ActiveX-KOmponenten neu Einsetzen?
Wieso nicht? Was spricht dagegen.
Viele Anwendungen verwenden fremd Bibliotheken die auf ActiveX basieren zum Beispiel alle DirectShow Filter.

Zitat:

Ist es dennoch ein großer Aufwand, ActiveX-Komponenten zu registrieren?
Die frage wäre hier erstmal was für eine Komponente in DLL Form?
Wenn es sich um eine DLL handelt ist es sehr einfach lade das angehängte Script führe es aus danach kannst du die DLL links klick auf Datei mit Adminrechten registrieren.

gruss

Aeon34 9. Mär 2019 13:46

AW: ActiveX-Komponente benutzen
 
Ich habe keine DLL, es handelt sich um die Komponente VtChart, die unter Delphi 5 im Tab DirectX vorhanden ist.

EWeiss 9. Mär 2019 14:19

AW: ActiveX-Komponente benutzen
 
Zitat:

Zitat von Aeon34 (Beitrag 1427401)
Ich habe keine DLL, es handelt sich um die Komponente VtChart, die unter Delphi 5 im Tab DirectX vorhanden ist.

Nun dann denke ich das du diese gar nicht registrieren kannst bzw.. du musst natürlich über die Laufzeit Bibliotheken verfügen.

Das bedeutet du benötigst mindestens DirectX 9 das dann installiert sein muss.
Unter Win10 ist es das nicht.. must du also nachträglich tun.
Welche DirectX Version dafür nötig ist kann nicht nicht sagen verwende kein D5

gruss

Bernhard Geyer 9. Mär 2019 14:24

AW: ActiveX-Komponente benutzen
 
Zitat:

Zitat von EWeiss (Beitrag 1427397)
Wieso nicht? Was spricht dagegen.

Alles. In unserer Anwendung sorgten die (bisher) nötigen ActiveX-Controls für den höchsten Supportaufwand

Zitat:

Zitat von EWeiss (Beitrag 1427397)
Viele Anwendungen verwenden fremd Bibliotheken die auf ActiveX basieren zum Beispiel alle DirectShow Filter.

DirectShow basiert auf COM, nicht auf ActiveX. ActiveX selbst basiert auch auf COM.
Und DirectShow hat den Vorteil das es bestandteil von Windows ist und man es nicht nachträglich installieren muss.

EWeiss 9. Mär 2019 14:27

AW: ActiveX-Komponente benutzen
 
Was glaubst du was COM ist? Hehehhe….
VB6 basiert auch auf Com und alle erstellen DLL's sind ActiveX

ActiveX ist eine Erweiterung der Com Schnittstelle..

gruss

Bernhard Geyer 9. Mär 2019 14:33

AW: ActiveX-Komponente benutzen
 
Zitat:

Zitat von EWeiss (Beitrag 1427404)
Was glaubst du was COM ist? Hehehhe….

COM ist die Basis mit diversen "Aufsätzen" wie ActiveX oder DirectX.
Meine ersten Erfahrungen sind schon über 20 Jahre alt. DCOM mit Delphi um die Jahrtausendwende genutzt - Und es hat funktioniert!

Zitat:

Zitat von EWeiss (Beitrag 1427404)

Genau! ActiveX ist Aufsatz auf COM.
Aber COM ist nicht ActiveX.

EWeiss 9. Mär 2019 14:33

AW: ActiveX-Komponente benutzen
 
Zitat:

Aber COM ist nicht ActiveX.
Ok ;) Da muss ich dir recht geben.
Aber Com Objecte aufgesetzt mit ActiveX und oder DirectX müssen registriert werden.
Und abhängige Bibliotheken müssen vorhanden sein was bei ihm scheinbar nicht der fall ist.

Zitat:

Und DirectShow hat den Vorteil das es bestandteil von Windows ist und man es nicht nachträglich installieren muss.
Doch muss man zum Beispiel Directx9 unter Win10.
Es gibt keine gewähr das DirectX 9 mit DirectX 12 bedient werden kann. (Aber Ausnahmen bestätigen die Regel)
Eine Abwärts Kompatibilität ist nicht immer gegeben.

gruss

Pfaffe 9. Mär 2019 15:26

AW: ActiveX-Komponente benutzen
 
Hallo Aeon34,
schau doch mal in die Hilfe oder ins Handbuch von Delphi5 was Du für Dateien mitgeben musst und welche registriert werden muss, kann auch eine .ocx sein.

Bernhard Geyer 9. Mär 2019 17:23

AW: ActiveX-Komponente benutzen
 
Zitat:

Zitat von Aeon34 (Beitrag 1427395)
Ist es dennoch ein großer Aufwand, ActiveX-Komponenten zu registrieren?

Nein, ist es nicht. Es wäre ein "regsvr32.exe-Aufruf". Das Problem ist die relevante DLL/OCX-Datei zu finden.

Zitat:

Zitat von Aeon34 (Beitrag 1427395)
Das Problem bei der Verwendung der Delphi Community Edition ist wahrscheinlich, dass ich die Anwendung dann nicht mehr mit Delphi 5 öffnen kann.

Wird nicht gehen. Aber evtl. mal in der Schule anfragen ob Sie nicht mal die Delphi-Version aktualisieren könnten.

Zitat:

Zitat von Aeon34 (Beitrag 1427395)
Die generierte .exe sollte ja aber trotzdem überall funktionieren.

Ist sie. Solange du es nicht auf XP/2000/9x noch laufen lassen willst.

EWeiss 9. Mär 2019 18:08

AW: ActiveX-Komponente benutzen
 
Habe mich mal etwas schlau gemacht..
Die Ocx sollte diese sein "vcfi32.ocx" normalerweise befindet sich diese unter "Windows\System32" denke aber im 64Bit Win10 unter SysWOW64

Den entsprechenden Pfad bzw.. die OCX dort suchen..
CMD mit Adminrechten starten und dort eingeben.
Damit das Programm bei anderen läuft müssen auch diese die Datei erst registrieren bzw. muss diese mitgeliefert werden wenn das erlaubt ist (3rd Party? )
Code:
Regsvr32 Mein gefundener Pfad\vcfi32.ocx
"vcfi" steht für Visual Components First Impression" auch bekannt oder auch nicht als VTChart Control
Nach den Angaben der OCX sollte sie es sein.

gruss

Pfaffe 9. Mär 2019 19:33

AW: ActiveX-Komponente benutzen
 
Man hätte Aeon34 das Erfolgserlebnis auch lassen können, selbst herauszufinden, welche Dateien weitergeben und registriert werden müssen.
Ok, dann folgende Zusatzaufgaben von mir:
a. Welchen Nachteil hat das mit den OCX-Dingern gegenüber "normale" DLL's? (Admin und Registrierung)
a.1 Welchen Nachteil haben DLL's?
a.2 Was ist passiert, wenn Du auf einem Kundenrechner eine OCX registriert und der Kunde sich später meldet, dass eine wichtige Anwendung von ihm jetzt die Meldung "ocx ist veraltet" meldet?
b. Bitte lese in den Bedingungen von Embarcadero (Hilfedateien: Weitergabe von ...) nach, welche rechtlichen Bedingungen einzuhalten sind, wenn man die OCX-Teile weitergibt.
b.1 Darf dein Programm in einem Flugzeug eingesetzt werden?
b.2 Darf dein Programm im Internet ohne Zusatzhinweise von sämtlichen Menschen dieser Welt zum Download angeboten werden?
b.3 Wer haftet im Fall von a.2?
c. Wieviel % eines Softwareprodukten fallen ca. auf das Programmieren?

Ggf. an den Lehrer zur Diskussion weitergeben.

Ich gehe davon aus, dass das Ziel in der Schule nicht ist, Programmierer auszubilden, deshalb ist es auch nicht schlimm, das es Delphi5 ist.

EWeiss 9. Mär 2019 19:41

AW: ActiveX-Komponente benutzen
 
Zitat:

Man hätte Aeon34 das Erfolgserlebnis auch lassen können, selbst herauszufinden, welche Dateien weitergeben und registriert werden müssen.
Ja, ja da hilft man jemandem und dann ist es auch nicht recht.
Was soll's
Zitat:

Ok, dann folgende Zusatzaufgaben von mir:
Ich könnte jetzt auch noch eine Rechtsbehelfs Belehrung verfassen aber lassen wir das.
Dauert nicht mehr lange dann werde ich mich hier zurückziehen es macht langsam einfach keinen Sinn mehr sich hier noch einzubringen.
Die meisten Probleme die ich habe bekomme ich zumeist selbst geregelt.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz