Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 243
от 21.05.2006, 13:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 331, Экспертов: 35
В номере:Вопросов: 1, Ответов: 1


Вопрос № 43221: Добрый день, Уважаемые эксперты. У меня возникла такая проблемка. Ниже приведена программка на чистом api, так вот она почему то до конца не выгружается из памяти. Загрузка ЦП подскакивает до 100 % если много экзэмпляров. А если запустить в Delphi, и...

Вопрос № 43.221
Добрый день, Уважаемые эксперты. У меня возникла такая проблемка. Ниже приведена программка на чистом api, так вот она почему то до конца не выгружается из памяти. Загрузка ЦП подскакивает до 100 % если много экзэмпляров. А если запустить в Delphi, и после того как закрыть приложение, то в дельфи будет ещё наверху написано всё равно - Running, и доступна только кнопка Пауза, а кнопка Run - недоступна. Т.е. Приложение ещё работает, и приходится его останавливать. Подскажите где у меня ошибка. Заранее спасибо.

Приложение:

Отправлен: 16.05.2006, 13:27
Вопрос задал: Александр Михайлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Morgion
Здравствуйте, Александр Михайлович!
Так делать скорее всего нельзя и загрузка из-за DefWIndowProc.
Определи свою ф-ю окна, в ней в самом конце вызывай DefWindowProc (если сообщение в свойё ф-й не обрабатываешь).
Как минимум определи реакцию на WM_DESTROY или WM_CLOSE- ты должен вызвать PostQuitMessage, для того, что бы выйти из цикла обработки сообщений.

Написано Running как раз потому, что DefWindowProc никогда не посылает WM_QUIT (это делает PostQuitMessage). То есть у тебя получается окно уже уничтожено, а цикл обработки сообщений всё ещё работает.
Ответ отправил: Morgion (статус: Студент)
Ответ отправлен: 17.05.2006, 00:19
Оценка за ответ: 5
Комментарий оценки:
Пасибки, разобрался!!!!!!!!1


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное