Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Занятый файл (контрол System.Windows.Conrols.Image в VS2008 WPF – проект Framework 3.5)
|
|||
|---|---|---|---|
|
#18+
Помогите разобраться с проблемой: программа не «отпускает» файл. Есть приложение «Записная книжка» – множество записей о людях состоящих из: имени, фото и краткой заметки. Каждая такая запись – объект Man: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. На форме имеется элемент типа System.Windows.Controls.Image: Код: plaintext 1. И соответствующее свойство: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Проблема заключается в том что после вызова ClearValue(), сама картинка естественно пропадает но файл откуда береться катинка не отпускается. Перепробовал много чего и управление GarbageCollector и попытку подцепить интерфейс IDisposable, и очиству свойств (функция ClearValue) как Image так и ImageSource. Можно проследить интересные закономерности: 1) а) создаём 3 объекта Man (A,B,C) б) загружаем(Man.LoadPhoto) fileA в A и fileB в B в) очищаем объект(Man.ClearPhoto) A, смотрим: программа держит fileA г) очищаем объект B, смотрим: программа держит и fileA, и fileB д) загружаем fileC в C, программа отпускает и fileA, и fileB 2) а) создаём объекта Man (A) б) загружаем fileA в A в) очищаем объект A, смотрим: программа держит fileA г) загружаем fileB в A д) очищаем объект A, смотрим: программа отпускает fileA 3) а) создаём объект Man (A) б) загружаем fileA в A в) загружаем fileB в A без очиски, смотрим: программа держит fileA г) загружаем fileC в A без очиски, смотрим: программа отпускает fileA, но держит fileB д) загружаем fileC в A без очиски, смотрим: программа отпускает fileB, но держит fileD и т.д. 4) а) создаём 2 объекта Man (A,B) б) загружаем fileA в A в) очищаем объект A, смотрим: программа держит fileA д) загружаем fileB в B, программа отпускает и fileA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 14:23 |
|
||
|
Занятый файл (контрол System.Windows.Conrols.Image в VS2008 WPF – проект Framework 3.5)
|
|||
|---|---|---|---|
|
#18+
Весь текст не осилил, но была у меня трабла, что поле чтения в имейдж файл не отпускался. Решил чтением файла в поток, а из потока в имейдж ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2009, 20:45 |
|
||
|
Занятый файл (контрол System.Windows.Conrols.Image в VS2008 WPF – проект Framework 3.5)
|
|||
|---|---|---|---|
|
#18+
Editor, что-то у вас тут каша какая-то. Если не вермишель. 1. везде используете NotifyPropertyChanged, а в случае с Photo - выкинули приватный сеттер и вызываете снаружи. Если уж Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. Это к проблеме, конечно, прямого отношения не имеет, но если у вас все так написано, то запутаться будет очень просто. 2. То что вы очистили ссылку на картинку из UI еще не означает, что на нее нет других ссылок из других мест. На эту мысль наводит странное свойств Код: plaintext 3. Ссылок на объекты UI лучше вообще не иметь. Тем более, в таком странном сочетании с ItemContainerGenerator 4. Для работы с изображениями лучше создать конвертер. Пример в аттаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 03:39 |
|
||
|
Занятый файл (контрол System.Windows.Conrols.Image в VS2008 WPF – проект Framework 3.5)
|
|||
|---|---|---|---|
|
#18+
Да, еще. Для быстрой загрузки превьюшек можете посмотреть ThumbnailBuilder - грузит картинки достаточно быстро, в отдельном потоке, блокирует файл только на момент чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2009, 03:53 |
|
||
|
Занятый файл (контрол System.Windows.Conrols.Image в VS2008 WPF – проект Framework 3.5)
|
|||
|---|---|---|---|
|
#18+
Roman S. Golubin, Спасибо большое, очень помогли! Про конвертер сам бы не догадался! И за общую критику кода и в целом системы тоже спасибо. Будем разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2009, 10:14 |
|
||
|
|

start [/forum/topic.php?fid=21&fpage=69&tid=1442974]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 293ms |

| 0 / 0 |
