Здравствуйте. Я использую контрол AniGif.ocx для анимации GIF-файлов. Этот контров многие знают и уважают. Но почему-то нигде не принято говорить, что у него утечки ресурсов. Моя программа стала падать (там многократно создаются маленькие анимированные значки). Я заподозрил утечку. Поставил контроль ресурсов
GuiResTrace6.exe (знаете такую штуку?) Оказалось, что этот AniGif.ocx действительно создает утечку GDI-ресурсов при каждом использовании (создании-удалении) ровно в одну единицу (кисть? перо? контекст? - не важно). Эта учечка проявляется даже на самом примитивном примере - две формы, одна вызывает другую, а на той контрол. Когда у Вас одна картинка на главной форме, то никто не заметит такой мизерной утечки, а если это в цикле, то использование данного контрола вообще невозможно. Другие аналогичные контролы не обладают нужными мне качествами.
Вопросы
1. Как можно из моей программы на VB6 заткнуть эту утечку? (Боюсь, что это из области фантастики)
2. Какой OCX проигрывает gif, без утечек, имеет ПРОЗРАЧНЫЙ фон, и и имеет событие при каждой смене кадра?
3. Можно ли сделать прозрачный фон у gif-контрола, не имеющего такого свойства официально?
4. С помощью какого алгоритма я могу самостоятельно воспроизводить gif-файл на основе штатного Image-контрола из VB6?
Спасибо.