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
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;
}
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)

mainController.h
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();
};
mainController.cpp
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(){
 
}
Et voici la form ConnectionWindow

ConnectionWindow.h
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();
			 }
La ligne en rouge est celle qui crée l'erreur , je ne comprend pas du tout

Un grand merci d'avance! bonne soirée!