Frage

Ich habe eine alte VB6-Anwendung, die eine Steuerung von Imagelist von COMCTL32.OCX verwendet ( "Microsoft Windows Common Controls 5.0 (SP2)") Symbole für TreeViews und Listviews zu liefern.

Die App wird nicht einmal starten auf Windows 7.0 64 Bit. Die Minute, es versucht, das Formular zu laden, die die Abbildungsliste auf sie hat, es stürzt ab (na ja, eigentlich, die App zwinkert aus, ohne eine Spur verlässt).

, um die Abbildungsliste aus dem Formular entfernen, löst das Problem.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Ich löste dieses Problem durch alle Instanzen COMCTL32.OCX ersetzt, die mit VB5 kam, mit MSCOMCTL.OCX, die mit VB6 kam.

Microsoft KB-Artikel 190.952 hat Anweisungen, dies zu tun. Es war ziemlich einfach eine Operation global-Such-und ersetzen.

Andere Tipps

einen Fehler an Microsoft melden. Der VB6 Runtime ist weiterhin unterstützt auf 64-Bit-Windows-7 COMCTL32 .ocx ist nicht mit Windows 7 installiert, aber es ist explizit aufgeführt wie unter Windows 7 unterstützt

Ihre Lösung ist OK. Aber COMCTL32.OCX sollte auf jeden Fall in Ordnung auf Win64 arbeiten (Vista oder 7).

Nur ein kleiner Tipp:

Wenn MSCOMCTL.OCX verwenden Sie in der Lage, nicht auf Ihre Listview anwenden oder TreeView den XP / Vista / 7 Stil und Ihre Anwendung könnte fremd aussehen. Manifest wird keine Auswirkungen auf MSCOMCTL.OCX Kontrollen.

Eine Abhilfe wäre die MSCOMCTL.OCX Kontrollen Unterklasse, und da sie noch einen COMCTL32.DLL Header enthalten könnten Sie manipulieren, wie es malt.

(ich würde als Kommentar gepostet habe, aber ich kann immer noch nicht)

Es ist möglich, dass Sie in ein Problem laufen mit Data Execution Protection (DEP). Probieren Sie es aus, indem DEP deaktivieren:

bcdedit.exe /set {current} nx AlwaysOff

Neustart nach der oben in einer Befehlszeile eingeben. Denken Sie daran, es wieder einschalten, da es das Äquivalent von unter Windows mit Ihren Hosen unten ist.

Edit: Der Befehl oben funktioniert auf Vista. Ich habe nicht versucht es auf Windows 7.

Eine weniger drastische DEP Tweak ist den Computer Performance Dialog geht in (Registerkarte Erweitert Systemeigenschaften) und die Anwendungen exe in der Liste der Ausnahmen auf den DEP Registerkarte hinzuzufügen.

BTW, sind Sie sicher, dass dies nicht auf serverfault.com gehört. : P

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top