Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> глюки с SetWindowText 
:(
    Опции темы
arammo
Дата 10.4.2003, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.2.2003

Репутация: нет
Всего: нет



Имеется следующий код:

Код
CButton m_Browse;


Код

m_Browse.SetWindowText("Browse...");

При его выполнении вылетает "Debug Assertion Failed!"


Делаю retry и попадаю в winocc.cpp:
Код

void CWnd::SetWindowText(LPCTSTR lpszString)
{
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL));

if (m_pCtrlSite == NULL)
 ::SetWindowText(m_hWnd, lpszString);
else
 m_pCtrlSite->SetWindowText(lpszString);
}

и почему то m_hWnd==0x00000000

И соответственно в результате WindowText не меняется, что делать?


PM MAIL   Вверх
neutrino
Дата 10.4.2003, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



А конструктор Вы вызывали?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Step
Дата 10.4.2003, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
А конструктор Вы вызывали?
конструктор не надо - у него объект а не указатель


где у тебя это записанно, в каком месте программы
Цитата
CButton m_Browse;




у меня все работает, только что проверял


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
arammo
Дата 10.4.2003, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.2.2003

Репутация: нет
Всего: нет



Я используя Visual C++ .Net, и просто добавил member variable,
вроде должен стоять там где надо в header file.
Не знаю, может проблема в том, что это dll?

PM MAIL   Вверх
simanyay
Дата 10.4.2003, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Антон Ковалёв
****


Профиль
Группа: Участник
Сообщений: 2053
Регистрация: 22.8.2002

Репутация: нет
Всего: 36



У меня такое выходило если я пытался выполнить сий код, в конструкторе главного окна. Так как при выполнении конструктора никакие кнопы и пр. ещё не созданы. А вот в OnInit (точно не помню) всё прекрасно работает


--------------------
«It's better to be a pirate than to join the Navy» — Steve Jobs.
PM MAIL WWW   Вверх
arammo
Дата 11.4.2003, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.2.2003

Репутация: нет
Всего: нет



А вот такой (наверно глупый) вопрос, если OnInit первоночально при создании MFC не вставило, как его руками добавить?
PM MAIL   Вверх
Guest
Дата 11.4.2003, 08:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Это еще почему конструктор не надо? Еще как надо... нельзя выставить текст у несозданного контрола... надо снала вызывать m_Browse.Create(kakie-to parametri);
а потом токо его использовать.
  Вверх
-=Baa=-
Дата 11.4.2003, 08:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











енто мой пост сверху %)
  Вверх
Step
Дата 11.4.2003, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
Я используя Visual C++ .Net, и просто добавил member variable,
вроде должен стоять там где надо в header file.
Не знаю, может проблема в том, что это dll?

ты так и пиши что создаеш его динамически, а не на форму клипаеш
Цитата
Это еще почему конструктор не надо? Еще как надо... нельзя выставить текст у несозданного контрола... надо снала вызывать m_Browse.Create(kakie-to parametri);
а потом токо его использовать.

интересно ты что когда на форму кнопку кидаеш а потом в клас визарде сопостовляеш с объектом, ты еще и конструктор в явном виде вызываеш БАА ты ж этого точно не делаеш, за тебя это делают.

а в условии топика я не видел что б было определено какой тип проекта был выбран


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Baa
Дата 11.4.2003, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Step, а какой форме речь идет? Просто добавилась переменная в класс и все... а кто её отображать будет?
Если я напишу так:
class MyClass {
public:
CButton m_Button;
}
то разве при создании этого класс создастся кнопка? никто ей за нас Create не вызовет...
а исходя из начального кода токо такое предположение и было... иначе бы нормально функция работала...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Step
Дата 11.4.2003, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Цитата
а исходя из начального кода токо такое предположение и было... иначе бы нормально функция работала...
а конечно, только такое, а точ то при клипании на форму кнопки именно приведенный код и будет, об этом ты не подумал



P.S. И вооще че мы сремся, пусть создатель топика теперь мучается из за того что не полность сформулировал вопрос


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
arammo
Дата 11.4.2003, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.2.2003

Репутация: нет
Всего: нет



извините Baa и Step, пишу яснее:

кнопку я динамически не создаю, а просто добавляю на форме, а потом кликаю правой кнопой мыши на ней и выбираю переменная, которую назыаю m_Browse вот и всё.

PM MAIL   Вверх
Step
Дата 11.4.2003, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Нучто БАА доволен, так ты что будеш настаивать что конструктор надо вызывать



я так понял в нетовской студии работаем, так вот там тоже все работает замечательно, проверял.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
arammo
Дата 11.4.2003, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.2.2003

Репутация: нет
Всего: нет



а всё таки по поводу моего глупого вопроса:

А вот такой (наверно глупый) вопрос, если OnInit первоночально при создании Wizard не вставил, как его руками добавить?

PM MAIL   Вверх
Step
Дата 11.4.2003, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



OnInitDialog


Если его нету то надо сделать функцию на сообщение WM_initialdialog


если вызывать сет виндо текст из конструктора класса, то действительно работать не будет так как в этот момент еще нету кнопки



и врядли у тебя нету OnInitDialog ты просто наверное не то искал


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1106 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.