Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1052to1056
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ActiveX - KillBits

ActiveX - KillBits
23.02.2009 13:16:29
Klaus
Hallo,
ich habe ein Problem mit drei Steuerelementen, die ich verwende. Bis vor Kurzem hat alles gut funktioniert, aber seit ein paar Tagen nach einem Windowsupdate funktioniert MS Flexgrid nicht mehr. Die verwendeten OCX sind:
MS Flex Grid: msflxgrd.ocx
MS Progress Bar: mscomct2.ocx
MS Date Time Picker: comctl32.ocx
Das Windowsupdate (KB960715) blockiert das FlexGrid. Dies kann mit dem ActiveX Compatibility Manager wieder aufgehoben werden (KillBits Flag wird meines Wissens zurückgesetzt). Nach einem weiteren Windowsupdate bzw. auf einem Rechner mit den entsprechenden Updates funktioniert das so aber nicht.
Es gibt von Microsoft neue Controls von Visual Basic 6.0, die auch installiert werden können (Cumulative Update Rollup for VB 6.0 SP6 Runtime Extended Files). Werden die nun neuen OCX Dateien verwendet, dann funktioniert es auf dem Entwicklungsrechner.
Diese OCX dann auf das Zielsystem (registriert) löst das Problem nicht, da die Textboxen im UserForm nicht mehr funktionieren.
Nun zu den Fragen:
1) Hat von euch schon jemand von diesem Problem gehört?
2) Wie kann man das Problem lösen? (Ich würde gerne die neuen MS Controls verwenden, kann das Setup für VB6 Cumulative Rollup aber auf dem Zielsystem nicht ausführen, da dort kein VB6 installiert ist).
Bitte um eure Hilfe, ich bin mit meinem Latein am Ende...
Danke,
Klaus

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveX - KillBits
23.02.2009 15:21:46
Ramses
Hallo
Was es nicht alles gibt :-)
Und wenn du die controls mitlieferst und zur Laufzeit einen Verweis auf die neuen controls setzt ?
Hier mal ein Beispiel wie ich das mit der FM20.DLL gelöst habe
Sub SetReference_to_FM20DLL()
    On Error GoTo err_message
    With Application.VBE.ActiveVBProject.References
        .AddFromFile "C:\Windows\system32\fm20.dll"
    End With
    Exit Sub
    err_message:
    Select Case Err.Number
        Case 32813
            'Der Verweis existiert bereits
        Case Else
            MsgBox Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Fehler"
            Exit Sub
    End Select
End Sub

Als Pfad halt dann den Pfad angeben wo die Controls installiert oder gespeichert sind.
Die Speicherung in einem extra Ordner hat den Vorteil, dass du auf dem Zielsystem nichts verbiegst und die Referenzen nur mit deiner Datei gültig sind.
Gruss Rainer
Anzeige
AW: ActiveX - KillBits
23.02.2009 15:33:56
Klaus
Hallo Rainer,
danke für deine Antwort. Das wäre eine Idee.
Ich habe dabei aber zwei Probleme.
1) Das VB 6 Update ersetzt sehr, sehr viele Controls, siehe http://support.microsoft.com/kb/957924/en-us . Ich brauche davon eigentlich nur die drei erwähnten OCX Dateien. Diese drei OCX habe ich auf dem Zielsystem installiert und registriert. Das sollte eigentlich ausreichen. Alle vom VB6 Update ersetzten Steuerelemente kann/will/darf ich nicht auf das Zielsystem bringen.
2) Das Mitliefern der Windows Forms DLL (fm20.dll) ist eine gute Idee, macht aber auch Probleme - unterschiedliche Office Versionen installieren unterschiedliche DLL Versionen und diese DLL darf nicht verteilt werden, sie wird mit Office installiert, siehe http://support.microsoft.com/kb/224305/en-us .
Ich weiß nicht weiter, ich kann mir nicht erklären, warum die Textboxen, Comboboxen, etc. nicht mehr funktionieren. Daran hätte durch das VB6 Update nichts geändert werden sollen.
@gesamtes Forum: ist bei euch so ein Problem mit MS Flexgrid noch nicht aufgetaucht?
Bitte um Hilfe,
Klaus
Anzeige
AW: ActiveX - KillBits
23.02.2009 15:34:59
Klaus
Hallo Rainer,
danke für deine Antwort. Das wäre eine Idee.
Ich habe dabei aber zwei Probleme.
1) Das VB 6 Update ersetzt sehr, sehr viele Controls, siehe http://support.microsoft.com/kb/957924/en-us . Ich brauche davon eigentlich nur die drei erwähnten OCX Dateien. Diese drei OCX habe ich auf dem Zielsystem installiert und registriert. Das sollte eigentlich ausreichen. Alle vom VB6 Update ersetzten Steuerelemente kann/will/darf ich nicht auf das Zielsystem bringen.
2) Das Mitliefern der Windows Forms DLL (fm20.dll) ist eine gute Idee, macht aber auch Probleme - unterschiedliche Office Versionen installieren unterschiedliche DLL Versionen und diese DLL darf nicht verteilt werden, sie wird mit Office installiert, siehe http://support.microsoft.com/kb/224305/en-us .
Ich weiß nicht weiter, ich kann mir nicht erklären, warum die Textboxen, Comboboxen, etc. nicht mehr funktionieren. Daran hätte durch das VB6 Update nichts geändert werden sollen.
@gesamtes Forum: ist bei euch so ein Problem mit MS Flexgrid noch nicht aufgetaucht?
Bitte um Hilfe,
Klaus
Anzeige
AW: ActiveX - KillBits
23.02.2009 15:39:06
Ramses
Hallo Klaus
Trifft das nicht bei dir zu ?
-----------------------------
Known issue
Consider the following scenario. You install this update on a computer that has a software solution installed. The software solution is based on Microsoft Visual Basic for Applications (VBA). The software solution creates an instance of the control directly through Microsoft Office. In this scenario, you may experience one of the following problems:
* You may receive an error message that resembles the following when you try to run a macro:
Object library invalid or contains references to object definitions that could not be found.
When this problem occurs, the macro does not run.
* You may receive an error message that resembles the following when you try to add one of the updated controls to an Office Visual Basic for Applications form:
Element not found.
When this problem occurs, the control is not added to the form.
To resolve the problem, delete cached versions of the control type libraries. To do this, search the hard disk for “.exd,” and then delete all occurrences. The .exd files are re-created automatically by using the new controls the next time that you use VBA.
----------------------------------
Gruss Rainer
Anzeige
AW: ActiveX - KillBits
23.02.2009 16:03:30
Klaus
Hallo Rainer,
vielen Dank für deine Info. Genau diese Probleme hatte ich auch. Ich konnte sie aber mit dem ActiveX Compatibility Manager für die erwähnten Controls (Flexgrid, Progress Bar, Date Time Picker) beheben (dadurch wird die Instanzierung von OCX wieder erlaubt). Aber vielleicht hängen da noch andere exd Dateien herum, die die "Standard Controls" aus fm20.dll betreffen, ich werde das checken und Feedback geben.
Vielen Dank für den Hinweis,
Klaus
FM20.DLL
23.02.2009 16:06:39
Ramses
Hallo Klaus
Das ist vielleicht ein Missverständnis,.. aber ich habe mit der FM20.DLL dieses/deines Problem nicht gelöst, sondern ein anderes. Es ging mir nur zum zeigen des einbindens zur Laufzeit :-)
Ich habe mir den mal vorsorglich geladen für alle Fälle :-)
Gruss Rainer
Anzeige
AW: ActiveX - KillBits
23.02.2009 15:42:48
Peter
Hallo Klaus,
ich könnte mir vorstellen, dass du im Beitrag www.ms-office-forum.net unter Excel auf der 3. Seite im Beitrag Fexgrid Problem von D.Zenker (12.02.2009 10:28) einen oder mehrere nütliche Hinweise zu deinem Problem findest.
Gruß Peter
AW: ActiveX - KillBits
23.02.2009 16:09:09
Klaus
Hallo Peter,
danke für den Hinweis. Ich habe so einen ähnlichen Eintrag schon einmal gelesen. Genau diesen ActiveX Compatibility Manager verwende ich, um das alte OCX zu aktivieren. Beim nächsten Windows Update sind aber die Einstellungen in der Windows Registrierung wieder weg und die Exceldatei startet nicht (Fehlermeldung und man landet in der VBA Entwicklungsumgebung). Daher war meine Idee, die überarbeiteten OCX Dateien von Microsoft vom Dezember 2008 zu verwenden (VB 6 Update). Das funktioniert auch auf dem Entwicklungsrechner, aber auf dem Zielsystem bringe ich die Exceldatei nicht zum Laufen (hier scheitere ich schon an Standardsteuerelementen wie Textbox, etc.), obwohl die neuen verwendeten OCX Dateien installiert und registriert sind.
Ich denke, es wäre am besten, wenn die neuen Controls (das sind viele, siehe Link in vorigen Posts) irgendwie auf dem Zielsystem installiert werden könnten...
Hast du noch eine Idee?
Danke für deine Hilfe,
Klaus
Anzeige
AW: ActiveX - KillBits
23.02.2009 17:17:34
Peter
Hallo Klaus,
leider weiß ich auch keine Abhilfe.
Gruß Peter
AW: ActiveX - KillBits
23.02.2009 17:20:51
Klaus
Hallo,
hat noch jemand eine Idee dazu oder ist mit demselben Problem konfrontiert? Ich suche Mitstreiter :-).
Ciao,
Klaus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige