Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сохранение ссылки на объект в классе
|
|||
|---|---|---|---|
|
#18+
У меня есть класс, который в конструкторе получает ссылку на Graphics формы. Привожу выдержки из текста программы (из разных мест): Код: 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. После создания объекта класса (выделено жирным) его экземпляр помещается в коллекцию и вызывается Invalidate() формы. В обработчике перерисовки формы вызывается метод Dysplay() для каждого экземпляра в коллекции, который уже вызывает метод перерисовки Draw() используемого класса GraphicObject: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Ссылка на Graphics формы не разрушается мной. Проблема в том, что при попытке нарисовать что-то на Gr вылетает ошибка (приведено не точно): ...interop...exception...system.window.forms.dll...occurred...GDI+ Приблизительно такие слова там были. Одно можно сказать: возникает ошибка при обращении к Gr. Я просматривал в QuickWatch содержимое Gr, но оно мне не показалось плохим: такое же, как и при получении ссылки. Вопросы: Почему я не могу нарисовать на форме? Как мне сохранить ссылку так, чтобы потом можно было с ней без проблем работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 10:40 |
|
||
|
Сохранение ссылки на объект в классе
|
|||
|---|---|---|---|
|
#18+
может не отвечу конкретно на вопрос, но выскажусь.. объекты типа Graphics, особенно полученные через CreateGraphics, - очень ценный системный ресурс и поэтому хранить ссылку на него не рекомендуется.Для таких объектов действует правило - как можно позже создавать и как можно раньше освобождать. И не в коем случае не делать долгохранимых ссылок. ИМХО ,если логика программы это не предусмотрела, то она, логика, должна быть переглянута.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 13:24 |
|
||
|
|

start [/forum/topic.php?fid=20&gotonew=1&tid=1437213]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
5ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 325ms |

| 0 / 0 |
