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?
Myślę, że to zawsze robił to. Kolejny powód do korzystania z zasobów raczej bitmap w plikach .dfm. –
Takie zachowanie jest jeszcze bardziej widoczne z obrazami w formach FireMonkey. –
@DavidHefferman, to nie zdarza się w Delphi 7 – DaveBoltman