2012-05-24 6 views
14

Uso Delphi XE2 Update 3. L'aggiornamento 4 non è compatibile con alcuni dei componenti di terze parti, pertanto non è stato ancora aggiornato.Delphi TImageList Modifiche alla bitmap

Uso TImageList nelle mie applicazioni. Ho notato che molte volte quando si passa dalla vista sorgente alla vista modulo (F12), improvvisamente l'unità precedentemente non modificata verrà modificata. Se salvi la modifica causata dalla pressione di F12, posso controllare il controllo del codice sorgente e vedere che alcuni byte della proprietà TImageList.Bitmap sono stati modificati. Ecco un esempio come si vede nella TortoiseHg Workbench:

@@ -830,7 +830,7 @@ 
    Left = 760 
    Top = 480 
    Bitmap = { 
-  494C01010200E402E40210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 
+  494C01010200E802E80210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 
        ^^ ^^ <-- two bytes changed 

a volte ci sono altre modifiche minori, ma è sempre limitata a pochi punti isolati nei dati TImageList.Bitmap. È un vero dolore spingere costantemente questi cambiamenti insignificanti nel controllo del codice sorgente quando non sto facendo cambiamenti intenzionali.

Qualcuno sa perché Delphi modifica i dati di TImageList.Bitmap quando si passa dalla visualizzazione di origine a quella di modulo? C'è un modo per aggirare questa limitazione?

+7

Penso che lo abbia sempre fatto.Un'altra ragione per usare risorse piuttosto bitmap in file .dfm. –

+2

Questo comportamento è ancora più evidente con le immagini nei moduli FireMonkey. –

+0

@DavidHefferman, questo non succede in Delphi 7 – DaveBoltman

risposta

4

È un bug di IDE davvero fastidioso già segnalato a volte in Embarcadero Quality Central, in particolare in QC 92769, ma purtroppo non è ancora stato risolto. :-(

+0

Questo è il problema esatto. Grazie per il QC#. –