Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как нормально управлять кистями в Delphi / 4 сообщений из 4, страница 1 из 1
04.01.2019, 17:51
    #39755915
527470
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нормально управлять кистями в Delphi
Есть приложение, где гора кистей с битмапами, их используют куча объектов.
Как нормально освободить память используемую под битмап. Я никак не могу контролировать объекты в которых используется кисть.
...
Рейтинг: 0 / 0
04.01.2019, 19:30
    #39755937
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нормально управлять кистями в Delphi
527470Как нормально освободить память используемую под битмап
Посмотреть в документации функции (метода), которым создавался битмап, как его впоследствии освобождать.
И этот способ - не "нормальный", а единственно верный.

P.S. При чем тут кисти - не понял.
...
Рейтинг: 0 / 0
04.01.2019, 19:49
    #39755940
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нормально управлять кистями в Delphi
527470Я никак не могу контролировать объекты в которых используется кисть.

Обычно это и не надо. Если ты назначил какому-то компоненту кисть или битмап, то они
копируют его себе "внутрь" методом Assign. После чего оригинал можно спокойно уничтожать.
Просто посмотри исходники этих компонент.

Другое дело API приложения, там ты вызываешь SelectObject() в процессе рисования, а в
конце - возвращаешь всё на место ещё одним вызовом. Поэтому "внутренних копий" нет и ты
просто управляешь тем, что сам создал, освобождая вещь когда она больше не нужна.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.01.2019, 22:02
    #39756416
527470
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как нормально управлять кистями в Delphi
Я посмотрел исходники кистей и пришёл к выводу что с битмапами их вообще не планировали использовать, кроме как в варианте установить битмап, нарисовать, освободить битмап, что-то более сложное вообще не возможно сделать, либо по причине убогой реализации, либо по тому что все необходимые методы заткнуты в приватную секцию и уже ничего не исправить.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как нормально управлять кистями в Delphi / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]