Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > проблемы с CFormView и CListBox |
Автор: Найли 1.6.2005, 18:54 | ||||
Проблема заключается в следующем: Я сделала для моего вида базовым CFormView,далее в реадкторе ресурсов запихала туда CListBox, потом в ClassWizard'e создала переменную для моего класса вида CListBox Control Вот отрывок из кода с объявлением класса, переменной и необходимой мне функции
Вот сама функция
а проблема в том, что выдается ошибка error C2228: left of '.AddString' must have class/struct/union type Я не понимаю почему VC не видит мою переменную... Была бы очень признательна быстрой помощи.... так как сроки пожимают, а без этого я не могу продолжить... =(( |
Автор: kometa_triatlon 1.6.2005, 20:39 |
Так же ничего не видно... Покажи весь код, а лучше выложи проект. Может там просто инклуда нужного нет, хоть это и вряд ли. |
Автор: Амортизатор 1.6.2005, 21:11 |
Судя по всему, просто отсутствует инклюд файла с классом CCharView. Где реализована эта функция? Если не в файле CCharView.cpp (или как он у вас там называется), возможно в самом деле нет инклюда. |
Автор: kometa_triatlon 1.6.2005, 21:40 |
Амортизатор Судя по коду, программа создавалась визардом. Если это так, то вряд ли нет инклуда, разве что удалила по ошибке... |
Автор: Dov 2.6.2005, 00:04 |
убери static в объявлении ф-ции. |
Автор: Найли 2.6.2005, 07:58 |
Если убрать статик, то пишет, что не законный вызов нестатической функции члена. Все инклуды на месте. =( |
Автор: Lion 2.6.2005, 09:28 | ||||
Правильно не видит. Соб-но цитата: “Статические функции – члены класса не получают указатель this, соответственно эти функции не могут обращаться с нестатическим членам класса.” Б.И. Березин, С.Б. Березин, “Начальный курс С и С++”. Функцию объявить просто как void. И если уж вы все равно используете MFC, почему бы вам не использовать CString. Будет удобнее. На счет второй ошибки, внимательно посмотреть где и как вы вызываете вашу функцию. |
Автор: Найли 2.6.2005, 13:14 | ||
вообще убрала эту функцию.... у меня есть глобальная функция...она пишется в документе CharView.cpp
Использую именно char*, так как это было необходмо в старой курсвой работе..а счас мне надо просто напистаь под нее виндоус приложение... это не сложно, загвоздка у меня тока в том, что не могу добавить строку в листбокс в "виде". =( |
Автор: Lion 2.6.2005, 14:09 | ||||
Уважаемая, не надо крайностей. ![]() Вам надо на форме отобразить список, правильно? ОК. Добавьте в класс формы функцию типа void, для добавления строки. Вам в общем надо было просто убрать static. Далее надо посмотреть, где и как вы пытаетесь ее вызывать. ![]() |