A>CMyClass : public CListCtrl
A>{
A> ...
A>};
A>CMyClass::~CMyClass()
A>{
A> GetItemCount(); // Вот здесь и вываливается :-(
A>}
A>
В момент вызова деструктора класса окна (CListCtrl) уже не существует, поэтому и вываливается (ACCERT). Утечка памяти не является причиной ASSERT'а, скорее наоборот, либо вообще не связана с "вываливанием".
There are 10 types of people in the world, those who don't understand binaries, those who do, and those who understand not only binaries.
CMyClass : public CListCtrl
{
...
};
CMyClass::~CMyClass()
{
GetItemCount(); // Вот здесь и вываливается :-(
}
S>В момент вызова деструктора класса окна (CListCtrl) уже не существует.
Поправьте меня, есля я не прав, plz.
Сначала вызывается деструктор класса, а потом уже деструкторы его полей (и полей его родителей). Т.о. в данном случае CListCtrl еще существует. Или Вы имели ввиду, что
уже не существует API окна, врапером которого служит CListCtrl?
Здравствуйте, Slamin, Вы писали:
S>Здравствуйте, asdsa, Вы писали:
A>>Или Вы имели ввиду, что A>>уже не существует /*API*/ окна, врапером которого служит CListCtrl?
S>Именно это я и имел ввиду, попробуйте в отладчике проследить что и как делает GetItemCount.
Но как же быть в таком случае, ведь мне нужно еще поработать со строками, хранящимися в списке. Не вести же еще один(свой, а не API) список этих строк.
P.S. А проследить в отладчике GetItemCount я не могу, т.к. именно здесь этот отладчик и вываливается ?-(
БЕРУ СЛОВА ОБРАТНО, ПОТОРОПИЛСЯ: A>P.S. А проследить в отладчике GetItemCount я не могу, т.к. именно здесь этот отладчик и вываливается ?-( ОН И ВЫВАЛИВАЕТСЯ ИЗ-ЗА ASSERT ))