COMDLG32.OCX - Aktuelle Version

Hallo zusammen,
wie ist die aktuelle Version des CommonDialogs, bzw. der COMDLG32.OCX und wo bekomme ich den her?

Folgende Situation:
Rechner A hat WinXP Professional mit SP1 und diversen Programmen
Rechner B hat WinXP Home (frisch installiert)

Auf beiden Rechnern ist Visual Basic 5 SP3 installiert.

Auf Rechner A hat die c:\windows\system32\comdlg32.ocx eine Größe von 140 KB und ist von 1998, auf Rechner B ist die Datei nur 129 KB groß und von 1997.

Ein VB-Projekt von Rechner A will nun auf Rechner B nicht laden („Fehler beim Laden von COMDLG32.OCX“). Wenn ich einfach die OCX austausche funktioniert´s aber.

Nun meine Frage: Ich vermute mal, dass irgendein Programm die neue (?) OCX „mitgebracht“ hat und das VB-Projekt nun auch diese verlangt. Ist die COMDLG32.OCX abwärtskompatibel, d.h. kann ich einfach die neue (dickere) auf Rechner B legen und es wird problemlos laufen?

Wo bekomme ich die wirklich aktuellste Version her? Bei Microsoft sucht man sich ja dämlich… da finde ich nur eine CAB-Datei, die die alte (?) Datei von 1997 enthält.

Danke!

Hallo Tino,

Nun meine Frage: Ich vermute mal, dass irgendein Programm die
neue (?) OCX „mitgebracht“ hat und das VB-Projekt nun auch
diese verlangt. Ist die COMDLG32.OCX abwärtskompatibel, d.h.
kann ich einfach die neue (dickere) auf Rechner B legen und es
wird problemlos laufen?

NEIN,
Eine OCX kannst du nicht einfach kopieren, sondern sie muss auch registriert werden damit auch die Parameter in der Registry abgelegt werden.
Normalerweise ist sie abwärtskompatibel.

MfG Peter(TOO)

Hi Peter

Zuerst die alte COMDLG32.OCX deregistrieren, danach die neue registrieren. Ansonsten müsste er (IMHO) basierend auf der GUID die erste (die ältere…) nehmen.

Registrieren / Deregistrieren wird mit dem Kommandozeilentool „REGSVR32“ erledigt:
REGSVR32 COMDLG32.OCX /U deregistrieren
REGSVR32 COMDLG32.OCX registrieren

Grüsse Peter