2012-05-24 18 views
14

Używam Delphi XE2 Update 3. Aktualizacja 4 nie jest kompatybilna z niektórymi z naszych komponentów zewnętrznych, więc nie zaktualizowaliśmy jeszcze.Delphi TImageList Bitmap Zmiany

Używam TImageList w moich aplikacjach. Zauważyłem, że wiele razy, kiedy przełącza się z widoku źródłowego do widoku formularza (F12), nagle zmodyfikowana zostanie poprzednio niemodyfikowana jednostka. Jeśli zapiszę zmianę spowodowaną przez naciśnięcie F12, mogę spojrzeć na kontrolę źródła i zobaczyć kilka bajtów właściwości TImageList.Bitmap. Oto jeden z przykładów, jak widać w TortoiseHg Workbench:

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

Czasami istnieją inne drobne zmiany, ale jest zawsze ograniczona do zaledwie kilku odosobnionych miejsc w danych TImageList.Bitmap. To prawdziwy ból, który nieustannie popycha te nieznaczące zmiany do kontroli źródła, kiedy nie dokonuję żadnych zamierzonych zmian.

Czy ktoś wie, dlaczego Delphi zmienia dane TImageList.Bitmap podczas przełączania widoków źródłowych i formularzy? Czy istnieje sposób na obejście tego ograniczenia?

+7

Myślę, że to zawsze robił to. Kolejny powód do korzystania z zasobów raczej bitmap w plikach .dfm. –

+2

Takie zachowanie jest jeszcze bardziej widoczne z obrazami w formach FireMonkey. –

+0

@DavidHefferman, to nie zdarza się w Delphi 7 – DaveBoltman

Odpowiedz

4

To jest naprawdę irytujący błąd IDE zgłoszony już czasami w Embarcadero Quality Central, szczególnie w QC 92769, ale niestety nie został jeszcze naprawiony. :-(

+0

To jest dokładny numer. Dziękujemy za QC#. –