OCX austauschen



  • Hat schon mal jemand von Euch probiert, ein OCX eines Drittanbieters durch ein eigenes zu ersetzen?

    Die Aufgabe sieht so aus:

    Ein Control muß ersetzt werden, da es nicht mehr richtig auf aktuellen Systemen funktioniert. Von der Klasse sind alle Methoden, Interfaces, Class-IDs & etc bekannt.

    Die Nachbildung der Funktionalität in einer eigenen Klasse ist kein Problem und war in 2 Tagen gemacht.

    Aber wie jubelt man das neue Control der Anwendung unter? Ich will das alte Control mit regsvr32 /u entfernen, neues raufkopieren, einen regsvr machen, Exe starten, fertig. Bei einem eigenen OCX mit einer neuen Version ist das trivial.

    Geht das bei einem fremden Control auch? Was muß man alles beachten, lege ich bei der Erstellung mein neues Control einfach mit den ClassIDs des alten Controls an? Reicht das schon aus? Oder muß man noch an den Kompatibilitätsinfos drehen?

    Ich hätte gerne ein paar Ideen dazu, bevor es in die scharfe Phase geht. Mit Trial&Error kann man hier viele Tage verbringen...



  • Das einzige, was schief laufen kann, ist das, was in der Registry steht. Man müsste sein eigenes OCX wie Du schon sagst mit den gleichen IDs versehen, so auch die Bibliothek. Und nicht vergessen, der Bibliothek auch den gleichen Namen zu geben, so dass das Laden per ProgID auch klappt.



  • Zusätzlich kann man auch neue IDs verwenden und in der Registry die alten IDs auf die neuen verweisen lassen. Sozusagen, wie wenn man eine neue Version aufspielt, die auf die gleichen Interfaces der alten Bibliothek unterstützt.



  • Zusätzlich kann man auch neue IDs verwenden und in der Registry die alten IDs auf die neuen verweisen lassen. Sozusagen, wie wenn man eine neue Version aufspielt, die auf die gleichen Interfaces der alten Bibliothek unterstützt.

    Dem möchte ich noch einen Link hinzufügen:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/htm/reg_8gfn.asp?frame=true

    [edit]
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/d nesscom/html/classemulation.asp?frame=true
    [/edit]

    [ Dieser Beitrag wurde am 01.07.2003 um 12:21 Uhr von -King- editiert. ]


Anmelden zum Antworten