Форум программистов, компьютерный форум CyberForum.ru

Ошибка в функции FillList в строке CInfo Info - C++

Восстановить пароль Регистрация
 
Pashok
Сообщений: n/a
07.04.2010, 01:21     Ошибка в функции FillList в строке CInfo Info #1
Народ нужна помощь!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class CInfo
{
     CString x;
     CString y;
};
 
void CMyClass::FillList(CString xx, CString yy) // Пихаю в ListCtrl
{
    LVITEM Item;
    CInfo Info;
    Info.x=xx;
    Info.y=yy;
    
    Item.iItem=0;
    Item.mask=LVIF_TEXT | LVIF_PARAM;
    Item.lParam=(DWORD)&Info; // ??????
 
    Item.iSubItem=0;
    Item.pszText=(LPTSTR)(LPCTSTR)Info.x;
    MainList->InsertItem(&Item);
    Item.mask=LVIF_TEXT;
 
    Item.iSubItem=1;
    Item.pszText=(LPTSTR)(LPCTSTR)Info.y;
    MainList->SetItem(&Item);
}
и Вытаскиваю:
C++
1
2
3
4
5
6
7
8
9
10
11
void CMyClass::GetInfo()
{
    CInfo *Tmp;
    LVITEM Item;
    CurrentPositionNumber=MainList->GetNextSelectedItem(Pos);
    Item.iItem=CurrentPositionNumber;
    Item.mask=LVIF_PARAM;
    MainList->GetItem(&Item);
    Tmp=(CInfo*)Item.lParam;
    AfxMessageBox(Tmp->x);
}
выскакивает ошибка! Где она подскажите плиззз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2010, 01:21     Ошибка в функции FillList в строке CInfo Info
Посмотрите здесь:

ошибка в строке 21 с while найти не могу C++
функции замени в строке C++
Ошибка в строке file.write C++
C++ Ошибка в функции поиска подстроки в строке. Алгоритм Бойера-Мура-Хорспула.
C++ Вопрос о bmp[header info]
Как подсчитать сумму всех info? C++
C++ Шаблонный класс. Ошибка : aggregate 'Box<info*> ob' has incomplete type and cannot be defined
C++ Связать классы Education и Info, предоставляющие информацию о сотруднике.

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bazile
55 / 31 / 17
Регистрация: 15.03.2007
Сообщений: 6,912
07.04.2010, 12:26     Ошибка в функции FillList в строке CInfo Info #2
Ошибка в функции FillList в строке CInfo Info; Эта конструкция создает экземпляр класса CInfo в стеке функции. Что означает автоматический вызов (компилятром) деструктора класса т.е. уничтожение экземпляра. Соответственно указатель присвоенный lParam, после завершения функции FillList, указывает в никуда.

CInfo* pInfo = new CInfo() создаст экземпляр класса в свободной памяти и позволит избежать автоматического уничтожения объекта. Ответственность за освобождение занятой памяти ляжет на вас.
Pashok
Сообщений: n/a
07.04.2010, 14:49     Ошибка в функции FillList в строке CInfo Info #3
OK работает спасиба... но тут другая трабла появилась: когда запускаю GetInfo() он вытаскивает тока инфу 0-ого элемента в списке.. Я не уверен но проблема как мне кажется в FillList() там где :
Item.iItem=0;

так ли это?
Yandex
Объявления
07.04.2010, 14:49     Ошибка в функции FillList в строке CInfo Info
Ответ Создать тему
Опции темы

Текущее время: 23:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru