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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pashok
Сообщений: n/a
#1

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

07.04.2010, 01:21. Просмотров 1013. Ответов 2
Метки нет (Все метки)

Народ нужна помощь!
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
Посмотрите здесь:
C++ Шаблонный класс. Ошибка : aggregate 'Box<info*> ob' has incomplete type and cannot be defined
C++ Ошибка в функции поиска подстроки в строке. Алгоритм Бойера-Мура-Хорспула.
C++ Вопрос о bmp[header info]
#define, чтобы поставлять info[s.id]->root C++
Как подсчитать сумму всех info? C++
А почему ошибка, что функции print и read не определены в функции main()? C++
C++ Связать классы Education и Info, предоставляющие информацию о сотруднике.
функции замени в строке C++
C++ Ошибка на нулевой строке
Сортировка символов в строке, виртуальные функции C++
ошибка в строке 21 с while найти не могу C++
Ошибка в строке file.write C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bazile
58 / 34 / 20
Регистрация: 15.03.2007
Сообщений: 6,911
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;

так ли это?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru