Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Не могу подружить WTL и VC++2008 Express  (Прочитано 10991 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Alvion
Новенький

by
Offline Offline

« : 07-10-2011 23:58 » 

Доброго времени суток. Суть проблемы такова:
Выполняю все установки по инструкции http://www.sql.ru/forum/actualthread.aspx?tid=568906, прописываю пути в студии к хедерам и т.д. Дополнительно качаю PSDK 2003, устанавливаю, провожу операции с atlbase.h и atlwin.h, объясняю студии где брать файлы. Создаю проект wtl из визарда. Компилируется без проблем, но приложение вылетает с ошибкой, ссылаясь на atlwin.h в дебагере.

Поиск юзал, гугл тоже, но увы  А черт его знает...
Студия 2008 С++ эксп., WTL 8.0, файлы ATL из PSDK.
Очень прошу помочь и объяснить доходчиво) Ибо мой мозг уже расплавлен. Спасибо.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 08-10-2011 20:18 » 

Alvion,
1) покажи, что в этом файле на этой строчке (вернее - в окрестностях, функцию)
2) запусти на отладку без точек останова - должно остановиться, и можно будет глянуть стек и переменные
Записан

dark_rain
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #2 : 09-10-2011 16:01 » 

Ответил тебе в личное сообщение. Стучи завтра в аську.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 10-10-2011 05:54 » 

dark_rain, не вижу сообщения
Записан

dark_rain
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 10-10-2011 12:44 » 

Алексей1153++,  я Alvionу ответил - дал ему номер ICQ свой что бы сверить версии. Мне кажется его проблема в  PSDK 2003, т.к. он чрезмерно стар, зачем его вообще юзать для обучающих целей? Ведь не нужно для обучения поддержки каких-то сверхэкзотических процессоров? Даже не в этом дело, зачем использовать SDK который не поддерживается овнером уже несколько лет ведь есть более новая и гарантированно стабильная версия Windows SDK? Я пользуюсь VStudio 2008(SP1)  + WTL v8.0.7161.Final + WinSDK 7.1. Все замечательно работает и нигде ничего не валиться так что Alvion, качай свеженькое и ставь заново.
Даже если заменить atlbase.h и atlwin.h на более свеженькие то нет гарантии, что в дальнейшем процессе разработки не будет валиться из-за другого. Как-то так.
Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 10-10-2011 13:48 » 

мейби, проблема с Express Edition...
...
PS... пардон) первый пост невнимательно прочел)
« Последнее редактирование: 10-10-2011 13:53 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 10-10-2011 15:50 » 

dark_rain, гы, вот я с недосыпу не так понял )) ТС то не ты, а я и не поглядел вверху
Записан

Kultura
Помогающий

ru
Offline Offline

« Ответ #7 : 14-03-2012 17:39 » new

Решилась ли проблема? У меня те же симптомы, та же ошибка.

Система win7 64. Ставил SDK for windows server 2003 R2 для WTL (более новые SDK не содержат atl).
Ошибка возникает как в 2008 так и в 2010 студиях.

Записан
Kultura
Помогающий

ru
Offline Offline

« Ответ #8 : 16-03-2012 10:17 » 

Заработало на vs 2010 professional sp1 !
Что же касается express, тут все печально.

Вылет происходит при создании окна. В рабочей версии до этого места
Код:
HWND hWnd = ::CreateWindowEx(dwExStyle, MAKEINTATOM(atom), szWindowName,
dwStyle, rect.m_lpRect->left, rect.m_lpRect->top, rect.m_lpRect->right - rect.m_lpRect->left,
rect.m_lpRect->bottom - rect.m_lpRect->top, hWndParent, MenuOrID.m_hMenu,
ModuleHelper::GetModuleInstance(), lpCreateParam);

ATLASSERT(hWnd == NULL || m_hWnd == hWnd);
m_hWnd = 0; hWnd =0; после m_hWnd = hWnd = 0x....
В не рабочей до m_hWnd = 0; hWnd =0; после hWnd = 0; m_hWnd = 0x.... (если тупо приравнять, слетает на проверке IsWindow)

Вероятно, проблема в хитрой махинации с hWnd окна, происходящей в atl, для привязки hWnd и оконного объекта. Но продвинуться дальше я затрудняюсь  Здесь была моя ладья...
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines