Thema: Delphi Mainicon unter Windows 7

Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: Mainicon unter Windows 7

  Alt 8. Sep 2009, 14:31
Hi Roaster,

Delphi unterstützt leider durch die Bank weg (Dx - D2010) keine Projekticons in der Auflösung von 256x256px. Es wird immer skaliert. Über die Projektoptionen ist bei 64px Schluß, der Bug ist bekannt und wird leider als nicht wichtig erachtet. Es gibt auch keine Fehlermeldung beim Zuweisen, nur die exe enthält später nichts gescheites > 64px, jedenfalls erinnere ich mich an meine Tests so.

Bis D2006/2007 können Icons in Resourcen in Delphi zusätzlich keine komprimierten (256px) PNGs enthalten, daran scheidert der BRCC32 (bei RC Typ ICON).

Embarcadero/CodeGear hat soweit ich mich erinnere erst mit Delphi 2009 den Microsoft Resource Compiler lizenziert. Damit lassen sich auch direkt 256px PNG compressed Icons als Resource kompilieren.

Möglichkeiten also:
1) Das RES file mit dem RC aus dem MS SDK erstellen und einbinden (z.B. als Icon Groupe ICON) und die IconGruppe MAINICON aus der exe nach dem Build entfernen

2) Ab D2009: Das RC mit 256px PNG compressed ICON kann zum RES kompiliert werden und als alternative IconGruppe in die exe eingebunden werden, auch hierbei muß die IconGruppe MAINICON nach dem Build entfernt werden.

3) Alternativer Weg: Nach dem Build die IconGruppe MainIcon in der exe austauschen, z.B. durch ResHacker

Mit allen Wegen wird im Flip3d, Explorer etc das hochauflösende Icon sichtbar. Ich selbst verwende den 2. Weg. Im PostBuild wird die Delphi-Icongruppe MAINICON vollständig entfernt.

Nachtrag: Es ist also zu unterscheiden zwischen dem Bug die Icons in den Projektoptionen zuzuweisen und dem richtigen Resource Compiler, der auch mit PNG Icons umgehen kann.

Zu Deinem Problem im Explorer: Stichwort "Icon Cache". Kopiere die Datei in ein anderes Verzeichnis, u.U. ist auch ein Neustart notwendig bevor Du das richtige Icon siehst.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat