Проблема с выводом текста в текстовые поля диалога

 
0
 
C++
ava
erslgoeirjh | 28.11.2016, 11:06
Я работаю в Visual C++ 2012.

Есть класс CSourceNUDialog : public CDialog


class CSourceNuDialog : public CDialog
{
//...
public:
    void  setTextsIntoEdits(char *s1, char *s2, char *s3, char *s4, char *s5, char *s6, char *s7, char *s8);
    //...
};



В этом классе есть функция setTextsIntoEdits:


void  CSourceNuDialog::setTextsIntoEdits(char *s1, char *s2, char *s3, char *s4, char *s5, char *s6, char *s7, char *s8)
{
    m_IDC_EDIT1.SetWindowTextA(s1);
    m_IDC_EDIT2.SetWindowTextA(s2);
    m_IDC_EDIT3.SetWindowTextA(s3);
    m_IDC_EDIT4.SetWindowTextA(s4);
    m_IDC_EDIT5.SetWindowTextA(s5);
    m_IDC_EDIT6.SetWindowTextA(s6);
    m_IDC_EDIT7.SetWindowsTextA(s7);
    m_IDC_EDIT8.SetWindowTextA(s8);
}



В вызывающей функции я пишу:


CSourceNuDialog  mySourceNuDialog(this);

strcpy(s1,"a");  strcpy(s2,"b");  strcpy(s3,"c");  strcpy(s4,"d");  strcpy(s5,"e");  strcpy(s6,"f");  strcpy(s7,"g");  strcpy(s8,"h");
mySourceNuDialog.setTextsIntoEdits(s1,s2,s3,s4,s5,s6,s7,s8);
mySourceNuDialog.DoModal();



И в отладчике внутри функции setTextsIntoEdits на первой же строке

m_IDC_EDIT1.SetWindowTextA(s1);


программа бьётся с сообщением об ошибке:

Цитата


Debug Assertion Failed!

Program: C:\Windows\system32\mfc110d.dll

File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winocc.cpp

Line: 246



Что это означает? Как исправить эту ошибку?
Kommentare (2)
ava
vol4ek | 28.11.2016, 13:19 #
я ничего не понял). ты из основного окна пытаешься изменить текст в эдитах другого диалога?
ava
vol4ek | 28.11.2016, 14:35 #
и еще я заметил DoModal() последним. как вы пеняете параметры компонентов окна которое еще не создано. Эдитов еще не существует, а вы уже SetWindowText() делаете.
и короче поясните.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden