![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"Закрыть" MAINICON
Reset © (2005-10-26 14:51:00)Memproof ругается, что не закрыт Handle 'MAINICON'
Как сделать?
Reset (2005-12-01 16:13:00) [1]понятно, спасибо
Vladimir Kladov (2005-11-30 18:14:00) [2]это Access Violation при попытке доступа к Form (уже уничтожена? на кой тогда лезть в не ту память).
{$IFDEF ASM_VERSION} -> {$IFDEF ASM_!VERSION}
Reset (2005-11-30 08:40:00) [3]новая проблема
форма по умолчанию грузит MAINICON
если я использую другую иконку из ресурса (с именем, например, SUPERICON)
LoadIcon(hInstance,'SUPERICON');
и назначаю её на форму, то освободить обе не получается -
DestroyIcon(Form.Icon);
DestroyIcon(myFormIcon);
возникает ошибка Runtime error 216 на первой (здесь) строке,
в другом случае - закомментировав строку - незакрытый хэндл MAINICON
непонятно, как всё-таки закрыть оба :((
да, и такой ещё вопрос - как принудительно ориентировать компилятор на PAS-версию для какой-либо конкретной процедуры???
Reset (2005-10-31 07:51:00) [4]спасибо, помогло
ECM (2005-10-26 16:20:00) [5]
> как "перевести" 'MAINICON' в HIcon?
Зачем?
DestroyIcon(Form.Icon)
Reset (2005-10-26 16:00:00) [6]Дело в том, что грузится.
DestroyIcon() хочет HIcon, но как "перевести" 'MAINICON' в HIcon?
ECM (2005-10-26 15:32:00) [7]А реально есть в ресурсах 'MAINICON'?
КОЛ (поумолчанию) всегда пытается загрузить из ресурсов иконку
с таким именем - но не всегда она там есть. В этом случае вызов LoadIcon
возвращает NULL (0). Но Memproof (проверял на 0.9.5.0) все равно ругается
и требует вызова DestroyIcon. ИМХО - он ошибается - нет никакого смысла
вызывать DestroyIcon(0)!
Посмотрите у себя - грузится ли иконка в форме? (можно поставить брейкпойнт на вызове LoadIcon в function TControl.GetIcon (KOL.PAS) и
посмотреть возвращаемое значение - если ноль - необращайте внимания)