Bonjour, pour un travail en C++ j'ai voulu tenter de faire une application C++/CLI pour cr�er rapidement une fen�tre avec les composants .Net que j�ai d�j� utilis�s.
J�ai tent� un peu pr�s toute les possibilit�s que j�ai imagin� mais impossible de trouver une solution, je d�bute, il doit y avoir certainement quelque choses que je ne dois pas connaitre.
Il ne me reste plus comme unique solution de demander l�aide de programmeur plus exp�rimenter !
Le code est tr�s simple un main instancie un contr�leur, le contr�leur ouvre une fen�tre et passe � l�objet fen�tre un pointeur (this) sur lui-m�me, et ensuite j�essaye d�utiliser une fonction du contr�leur � partir de ma fen�tre.
Mais j�ai cette erreur :
[ConnectionWindow.h]
error C2227: la partie gauche de '->fadeOutConnection' doit pointer vers un type class/struct/union/g�n�rique
error C2027: utilisation du type non d�fini 'MainController'
Voici tout d'abord le main:
Main.CPP
Voici la classe controller.h, je l'ai mis le mot cl�s "ref" pour en faire une classe manag� pour stocker l'objet fen�tre ConnectionWindow(impossible autrement si j 'ai bien compris C++/CLI)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 [windowForm::STAThreadAttribute] int main(array<System::String ^> ^args) { MainController mainController; return 0; }
mainController.h
mainController.cpp
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 ref class MainController { using namespace windowForm; private : ConnectionWindow ^ connectionWindow; public : MainController(); ~MainController(); void fadeOutConnection(); };
Et voici la form ConnectionWindow
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include "stdafx.h" #include "mainController.h" MainController::MainController() { connectionWindow = gcnew ConnectionWindow(this); windowForm::Application::Run(connectionWindow); } void MainController::fadeOutConnection(){ }
ConnectionWindow.h
La ligne en rouge est celle qui cr�e l'erreur , je ne comprend pas du tout
Code : S�lectionner tout - Visualiser dans une fen�tre � part
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
27
28
29
30
31 ref class MainController; namespace windowForm { using... public ref class ConnectionWindow : public System::Windows::Forms::Form { public: ConnectionWindow(MainController ^ mainController) { this->mainController = mainController; InitializeComponent(); } ... private: MainController ^ mainController; ... #pragma region Windows Form Designer generated code // Code g�n�r� #pragma endregion private: System::Void buttonGoConnection_Click(System::Object^ sender, System::EventArgs^ e) { mainController->fadeOutConnection(); }
Un grand merci d'avance! bonne soir�e!
Partager