Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > CListCtrl - Release


Автор: SSlavon 13.10.2004, 16:40
Код

  LVCOLUMN col;

if(!m_List.GetColumn(0, &col))
 m_List.DeleteAllItems();
ASSERT(!m_List.GetItemCount());

в отладочной версии работает как часы, зачищает таблицу, как у лысого голова.
если компилю в Release зачистка как таковая не работает, и отфильтрованые строки записываются после старых, которых не должно быть и в помине.
в чем дело? stena.gif

код нашел в мсдн

Автор: Step 13.10.2004, 16:46
надо проинициализировать LVCOLUMN


попробуй вот так


Цитата(SSlavon @ 13.10.2004, 16:40)
LVCOLUMN col;
col.pszText="                    ";
    if(!m_List.GetColumn(0, &col))
  m_List.DeleteAllItems();
    ASSERT(!m_List.GetItemCount());


Автор: Vyacheslav 13.10.2004, 16:51
Основное отличие релиза от дебага в том, что в дебаге все переменные инициализируютмя по умолчанию. Ищи проблемы в этом

Автор: SSlavon 13.10.2004, 17:00
тот же эфект
я пробовали и с mask, не получается

Автор: Step 13.10.2004, 17:03
проверь выполнения условия
Добавлено @ 17:06
т.е. отработалли делет

Автор: SSlavon 13.10.2004, 17:09
да, очевидное всегда на поверхности, и мы его чаще всего пропускаем
зато теперь в дебагере вылетает, как то странно notify.gif

Автор: Step 13.10.2004, 17:11
а что ты поменял

Автор: SSlavon 13.10.2004, 17:14
if( m_List.GetColumn(0, &col) != 0)


Добавлено @ 17:15
BOOL GetColumn(
int nCol,
LVCOLUMN* pColumn
) const;

Return Value
Nonzero if successful; otherwise zero.

так сказано в мсдн

Автор: Step 13.10.2004, 17:20
вот так и в ассерте напиши

Автор: SSlavon 13.10.2004, 17:25
а почему они себя по разному ведут в релизе и дебаге?

Автор: Step 13.10.2004, 17:29
Потомучто true и false - это обыкновенные числа....

Автор: SSlavon 13.10.2004, 17:32
так тут произошло обратное же сравнение
Добавлено @ 17:32
if( m_List.GetColumn(0, &col) != 0)
вместо if( m_List.GetColumn(0, &col) == 0)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)