OCX-Komponente austauschen - Formular weigert sich

10/12/2007 - 15:07 von Jürgen Müller | Report spam
Hallo NG,

ich habe ein Projekt (VB6) übernommen, das als Komponente eine ocx-Datei
enthàlt, in der rund 10 Benutzersteuerelemente drin sind. Es gibt nun eine
neuere ocx-Datei. Doch leider kann ich den Verweis auf die bisher verwendete
OCX-Komponente nicht entfernen: es kommt die Meldung, dass noch
Steuerelemente in Verwendung sind, ich soll die auf dem Formular löschen.

Klar, sind auf dem Formular noch die Benutzercontrols. Aber wenn ich die
alle lösche ist meine Benutzeroberflàche dahin!

Wie kann ich die neue OCX-Datei einbinden, ohne dass ich alle Controls erst
entfernen muss?


Vielen Dank!
 

Lesen sie die antworten

#1 Thorsten Doerfler
10/12/2007 - 16:13 | Warnen spam
Jürgen Müller schrieb:
ich habe ein Projekt (VB6) übernommen, das als Komponente eine ocx-Datei
enthàlt, in der rund 10 Benutzersteuerelemente drin sind. Es gibt nun eine
neuere ocx-Datei.



Wenn die neuere OCX-Datei nicht kompatibel zur alten Version ist, wird
sich der Entwickler sicher etwas dabei gedacht haben und eine
Aktualisierung ist nicht ohne weiteres möglich. Bei
versionskompatiblen Komponenten würde die IDE die Aktualisierung
automatisch machen (binàrkompatibel) oder ein Upgrade vorschlagen
(projektkompatibel).

Doch leider kann ich den Verweis auf die bisher verwendete
OCX-Komponente nicht entfernen: es kommt die Meldung, dass noch
Steuerelemente in Verwendung sind, ich soll die auf dem Formular löschen.

Klar, sind auf dem Formular noch die Benutzercontrols. Aber wenn ich die
alle lösche ist meine Benutzeroberflàche dahin!

Wie kann ich die neue OCX-Datei einbinden, ohne dass ich alle Controls erst
entfernen muss?



Du kannst Die Projektdatei in Notepad öffnen und dort den Verweis
aktualisieren, indem Du die GUID der neuen Komponente dort eintràgst.

Die Steuerelementverweise haben den folgenden Aufbau:
Object={CCB7D9F6-DBD8-4647-A0B0-026F02E54FAF}#1.6#0; viocc3.dll

Mit OleView kannst Du Dir die TypeLib der neuen Komponente anzeigen
lassen und entnimmst dieser die GUID in geschweiften Klammern und
Version (1.6). Sprache dürfte normalerweise neutral, also 0 sein.

Die Form-Datei (frm) enthàlt ebenfalls einen Verweis, der zu
aktualisieren ist.

Wenn sich die Schnittstellen der verwendeten Steuerelemente nicht
geàndert haben, solltest Du Dein Projekt nach dieser Anpassung öffnen
können und der Verweis auf die aktuelle Version zeigen.

Starte das Projekt mit Strg+F5 (vollstàndige Kompilierung), um zu
sehen, ob Eigenschaften und Methoden der Komponenten, die erst zur
Laufzeit berührt werden, ebenfalls kompatibel sind.

Nur zur Sicherheit: Lege eine Sicherungskopie des Projekts an, bevor
Du auf die oben beschriebene Weise etwas ànderst.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen