Pointer corruption

uniqueman
Уже с Приветом
Posts: 2013
Joined: 16 Mar 2002 10:01
Location: New York City

Pointer corruption

Post by uniqueman »

не пойму в чем проблема.

Есть мастер диалоговое окно. Из него динамически создаю modeless dialog window

DynamicQuery* dlgD = new DynamicQuery (this);

if (dlgD)
{
BOOL ret = dlgD->Create (IDD_DIALOG_DYNAMIC_QUERY);
if (ret)
{
dlgD->ShowWindow (SW_SHOW);
}
}

на это порожденном диалоге находится контрол (_MyListBox) , котороый порожден от CListBox, Этот контрол имеет в себе ясен перец указатель на папу (то бишь на CListBox). Во время инициализации этого порожденного диалога в его OnInitDialog я вставляю в лист бокс несколько строчек. Все нормально.

Когда немодальное окно сформировано и показано на экране, я пытаюсь опять вставить несколько строчек, но при этом вылетает exception. Смотрю на дебаге и вижу что внутри самописного листа бокса указатель на его папу (то бишь на CListBox ) равен нулю. Точнее не указатель равен нулю а HWND на CListBox не определен :pain1: Поэтому вылетает exception. Как такое может быть, что во время инициализации диалога все нормально. А потом корраптится. Могу привести больше кода если надо..

Спасибо
User avatar
adb
Уже с Приветом
Posts: 9275
Joined: 14 Dec 2001 10:01
Location: Российская Федерация

Re: Pointer corruption

Post by adb »

uniqueman wrote:Когда немодальное окно сформировано и показано на экране, я пытаюсь опять вставить несколько строчек


Случаем не из другого трэда пытаетесь?
maa_t
Новичок
Posts: 85
Joined: 28 Feb 2002 10:01
Location: Beaverton, OR

Re: Pointer corruption

Post by maa_t »

adb wrote:
uniqueman wrote:Когда немодальное окно сформировано и показано на экране, я пытаюсь опять вставить несколько строчек


Случаем не из другого трэда пытаетесь?


Интересно сравнить адрес пойтера (* СListBox) во время инициализации и после - может это он got corrupted?
There are 10 kinds of people. Those who understand binary and those who don't

Return to “Вопросы и новости IT”