Я столкнулся с проблемой организации формы приложения Windows, с которой мне нужна помощь. Сейчас код делается в Microsoft Studio 2010 в .net 4.0 на С++. Файл заголовка для приложения с графическим интерфейсом не организован, что потенциально может привести к 10 000 или более строк кода, что делает его очень трудным для чтения.
Я пытался разделить реализацию события клика на файл .cpp, который включал «Form1.h».
private:
System::Void sIToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e){
switch(this->USCustomaryFlg){
case true:
this->sIToolStripMenuItem->Checked = true;
this->mnuUSMetric->Checked = false;
this->USCustomaryFlg = false;
cout << "SI flag is now true." << endl;
break;
case false:
break;
}
}
в эту форму в файле .cpp Form1:
System::Void mnuUSMetric_Click(System::Object^ sender, System::EventArgs^ e){
switch(this->USCustomaryFlg){
case true:
cout << "USCustomaryFlg is now false." << endl;
break;
case false:
this->mnuUSMetric->Checked = true;
this->USCustomaryFlg = true;
this->sIToolStripMenuItem->Checked = false;
cout << "USCustomaryFlg is now true." << endl;
break;
}
}
Ошибка, которую я получаю, - это всего лишь образец того, что я получаю:
Ошибка 2 ошибка C2355:
'this'
: на нее можно ссылаться только внутри нестатических функций-членов E:\Summer 2011\Engineer Software\GUItest\GUItest\Form1.cpp 16Ошибка 4 ошибка C2355:
'this'
: на нее можно ссылаться только внутри нестатических функций-членов E:\Summer 2011\Engineer Software\GUItest\GUItest\Form1.cpp 21Ошибка 3 ошибка C2227: слева от
'->USCustomaryFlg'
должен указывать на класс/структуру/объединение/общий тип E:\Summer 2011\Engineer Software\GUItest\GUItest\Form1.cpp 16Ошибка 8 ошибка C2227: слева от
'->USCustomaryFlg'
должен указывать на класс/структуру/объединение/общий тип E:\Summer 2011\Engineer Software\GUItest\GUItest\Form1.cpp 22
Есть мысли по этому поводу?