CListBox
перегружаю функцию DrawItem вообщем все как в MSDN
но не могу понять вот чего
когда я добавляю эелемент в список, то
если таким образом MyList.AddString("sda")- то выовдит нормально
НО CString st="sda";MyList.AddString(st)-выводит какую-то шнягу... в чем проблема?
Цитата:
Originally posted by shrize
когда я добавляю эелемент в список, то
если таким образом MyList.AddString("sda")- то выводит нормально
НО CString st="sda";MyList.AddString(st)-выводит какую-то шнягу... в чем проблема?
когда я добавляю эелемент в список, то
если таким образом MyList.AddString("sda")- то выводит нормально
НО CString st="sda";MyList.AddString(st)-выводит какую-то шнягу... в чем проблема?
Рискну предположить, что CListBox (или CMyList) не копирует передаваемые в AddString строки, а просто запоминает ссылки на них.
Соотвественно, так как время жизни переменной
Код:
CString st="sda";
ограничено функцией, в которой она создается, то в момент отображения списка, ссылка на неё уже не будет валидной.
Цитата:
Originally posted by Eugals
Рискну предположить, что CListBox (или CMyList) не копирует передаваемые в AddString строки, а просто запоминает ссылки на них.
Соотвественно, так как время жизни переменной
ограничено функцией, в которой она создается, то в момент отображения списка, ссылка на неё уже не будет валидной.
Рискну предположить, что CListBox (или CMyList) не копирует передаваемые в AddString строки, а просто запоминает ссылки на них.
Соотвественно, так как время жизни переменной
Код:
CString st="sda";
ограничено функцией, в которой она создается, то в момент отображения списка, ссылка на неё уже не будет валидной.
Яяя ты прав, но правда где ты был ответил поздновато у мя шок был когда я в дебаге это увидел:) Но все равно спасибо