Wieso werden auf einigen Rechnern die Glyphs der Toolbuttons falsch dargestellt?


Ich hab in einem Programm eine Imagelist, aus der meine ToolButtons ihre Glyphs beziehen. Das läuft auch gut, bis ich die kompilierte EXE-Datei auf einem anderen Rechner ausprobiere. Da fehlen auf einmal alle Bilder...

Anwort: Das ist ein bekanntes Problem. MS hat mit dem Internet Explorer 4.0 die Implementierung der ImageLists geändert, deswegen funktionieren die alten Kapselungen nicht mehr. Angeblich läßt sich das umgehen, indem man die Icons in einer Resourcendatei speichert und sie zur Laufzeit in die Imagelist lädt. Im Update Pack#1 für Delphi3 (gibt's nur von Inprise auf CD, nicht zum Download) oder in Delphi4 ist das aber behoben.

Zur Präzisierung: Das Problem ist die COMCTL32.DLL auf dem Entwicklungsrechner (dort, wo Delphi installiert ist). Wenn da der IE 4.0 installiert ist (zwischenzeitlich evtl. auch schon andere neue MS-Programme wie Office97), wird die Imagelist von der neuen COMCTL32.DLL gespeichert und kann nur noch auf Rechnern mit der neuen COMCTL32.DLL gelesen werden. Wenn auf dem Entwicklungsrechner die alte DLL (Vers. 4.70) läuft, und die Imagelist auch von der erzeugt wurde, können alle Rechner die Imagelist lesen.

Delphi 1 Delphi 2 Delphi 3 Delphi 4
nicht getestet Version nicht betroffen getestet

siehe auch:


Delphi FAQ