| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Проблема с CAsyncSocket.OnReceive |
| Автор: VolanDeMort 7.11.2006, 03:49 |
| Всем добррое время суток. Пишу простенького клиента, опираясь на класс CAsyncSocket Проблема в том, что все функции тапа OnReceive, OnConnect и т.д, переопределенные в производном классе, не вызываются. Скажем данные поступают, их можно прочитать методом Receive, но функция OnReceive не срабатывает. Может проблема в том, что консольное приложение? Хотя потдержка MFC включена. |
| Автор: _hunter 7.11.2006, 12:09 |
| virtual часом не забыл?.. |
| Автор: VolanDeMort 7.11.2006, 14:37 | ||
Разве при замещении "virtual" обязателен?
|
| Автор: Earnest 7.11.2006, 17:32 |
| Дело, конечно, не в virtual, а, скорее всего, в отсутствии фреймворка: по-моему, именно оболочка вызывает эти методы. Что-то в этом роде обсуждалось не так давно, поищи. |
| Автор: VolanDeMort 8.11.2006, 16:36 |
| Поясните пож. понятие фреймворка, или пните куда нибуть, где это хорошо написанно. А то встречаю часто, а что такое не знаю. |
| Автор: Earnest 9.11.2006, 07:56 |
| Framework - это каркас приложения. Т.е. код, описывающий архитектуру программы - взаимодействие разных объектов. Тебе остается только обрабатывать определенные события - код по их ловле и направлению куда-следует уже есть. Это так, вчерне. Когда ты пишешь консольное приложение, ты начинаешь с main и пустого листа. Если чистый WinApi - то тоже с чистого листа, только немного другого. А если, скажем, создаешь SDI-приложение на MFC, но каркас генерирует визард. Это уже готовое приложение (правда, ничего полезного не делающее). Но - работающее: окно открывается, документы загружаются и т.д. В описании таких функций как OnRecеive обычно пишется "... вызываются фрейворком в ответ на событие XXX". Сами-то функции не могут вызываться: либо ТЫ пишешь код вызова, либо передаешь функции в качестве callback'а, либо их вызывает оболочка. |
| Автор: VolanDeMort 13.11.2006, 07:47 | ||
| Спасибо, пояснил. Помог цикл прокрутки сообщений:
|