Здравствуйте Аноним, Вы писали:
А>Здравствуйте Dima2, Вы писали:
D>>Здравствуйте Аноним, Вы писали:
А>>>Привет всем.
А>>>Такая проблема: в моей функции DrawGraph примерно через 1-2 минуцты работы программы происходит ошибка при очередном создании контекста dc. Функция вызывается на WM_TIMER (он установлен на 10мсек). Привожу код:
А>>>Вроде бы возвращаю везде все GDI-объекты, удаляю сам dc....
А>>>В чём трабл??
D>>Что-то не увидел у тебя вызова ReleaseDC.
А>Привет Дима. Спасибо за участие
А>а который из них освобождать и от чего? Временному dc я перед выходом возвращаю старые GDI, сам его убиваю ( dc.DeleteDC() ), хотя мне не совсем понятно, зачем это делать, всё равно он при выходе из DrawGraph подчистится.... а в pDC ничего нового не выбираю, а лишь копирую битмап в него из временного...
C dc у тебя все в порядке и DeleteDC ему ты естественно можеш не делать (это сделает за тебя деструктор CDC), хотя может быть неплохо привыкнуть это делать самому, т.к. если будеш писать на чистом API, то будеш забывать.
Ф-я CreateCompatibleDC создает
новый DC совместимый с твоим pDC, но pDC тебе то нужно освободить почитай описание ф-ии GetDC().