vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Fragen zu Projektreferenzen 
Autor: URi
Datum: 24.08.14 07:23

Hi,
ich habe da mal eine allgemeine Verständnisfrage zu den Projektreferenzen.
In dem Fall hier habe ich unter "Projekt/Verweise" den PDFCreator hinzugefügt, um per VB PDFs erstellen zu können. Das klappt auch hervorragen, solange auf den PCs, auf dem das Programm läuft überall die gleiche PDFCreator-Version installiert ist. Wenn nun jemand eine neue Version des PDFCreator installiert, schmiert das Programm mit dem Fehler 429 "Objekterstellung durch Active-X Komponente nicht möglich" ab. Und zwar genau bei diesem Statement:
Set PDFCreator1 = New clsPDFCreator
Der Dim sieht übrigens so aus
Dim PDFCreator1 As PDFCreator.clsPDFCreator
in der .vbp Datei finde ich den folgenden Eintrag:
Reference=*\G{421296FC-3AE5-4DA5-B677-A19B61C06116}#1.0#0#..\..\..\..\Program Files (x86)\PDFCreator\PDFCreator.exe#PDFCreator

Diese Referenz finde ich auch an mehreren Stellen in der Registry. Ich vermute nun, dass bei der Installation einer neuen Version diese Referenz nicht mehr da ist. Aber das kann ja wohl nicht der Weisheit letzter Schluss sein. Es muss doch möglich sein eine neue Version installieren zu können und die VB-exe läuft trotzdem. Bei DLLs ist es ja ähnlich. Wenn eine neuere Version installiert wird kann man ja trotzdem weiter mit der alten exe arbeiten ohne dass man sie neu kompilieren muss.
Kann mir mal jemand erklären, woran das liegt und ob man da irgendwie Abhilfe schaffen kann?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fragen zu Projektreferenzen 
Autor: rsvisionmaster
Datum: 24.08.14 10:10

Sollte der Setparameter nicht so deklariert werden ?????

Set PDFCreator1 = New PDFCreator.clsPDFCreator

Dein DIM weist auf eine Klasse
dein Set auf das Objekt der Klasse

Desweiteren, ist in den Projekteigenschaft
der Haken gesetzt für "ActiveX Steuerelemente aktualisieren" ?

Mfg.
RSVisionmaster


CardManager (SmartCard Tools a la CARD)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fragen zu Projektreferenzen 
Autor: URi
Datum: 25.08.14 14:43

hmm, den Code habe ich so aus einem Beispiel übernommen. Und er macht ja auch, was er soll.
Betrifft das denn das eigentliche Problem?

Der Haken ist gesetzt. Nennt sich bei mir aber "Upgrade AciveX Controls". Habe eine englische Version.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fragen zu Projektreferenzen 
Autor: rsvisionmaster
Datum: 25.08.14 17:01

Nunja, eigentlich deklarierst du ja mit deinem DIM Befehl
lediglich eine explizite Klasse deines Objektes "PDFCreator.clsPDFCreator".
Mit deinem SET Befehl möchtest du aber das vollständige "PDFCreator" Objekt erzeugen,
was mit Sicherheit aber etwas mehr umfaßt, als nur diese eine Klasse...
Demzufolge, kannst du mit deinem SET nicht das ganze Objekt abbilden, sondern nur die Klasse.

Ich komme übrigens zu dem gleichen Fehler, wenn ich dein
Beispiel auf meine ActiveX Komponenten anwende.

Mit der richtigen Deklaration, in diesem Fall dein SET Parameter,
sollte der Fehler nicht auftreten.

Wenn neuere Versionen deines ActiveX, u. U. andere Deklarationsaufrufe unterstützen,
kommt es natürlich wieder zu dem Fehler. Stichwort "Binärkompatibilität"

MfG.
RSVisionmaster





CardManager (SmartCard Tools a la CARD)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel