Bonjour,

Je suis en train de mélanger du code managé à une grosse application initialement développée en non managée.

L'application ne fonctionne pas si elle est compilée en Managé (/clr), j'ai donc simplement ajouté un #pragma unmanaged à la fin de mon fichier stdafx.h ...
Comme ca, tout est compilé en natif malgré l'option /clr (pour mon ancien code) et tout fonctionne bien.

Dans toutes mes classes CLI, je commence avec #pragma managed et je finis par #pragma unmanaged afin que seules ces classes soient compilées avec /clr....

Maintenant, dans l'une de mes classes non managées, j'ai besoin d'utiliser un objet de ma classe managée

Je fais donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
gcroot<ObjetManaged ^> MonObjet;
MonObjet = gcnew ObjetManaged();
et là, la compilation me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
error C3821: 'ObjetManaged' : impossible d'utiliser un type ou une fonction managée dans une fonction non managée
Pourquoi donc ? qu'ai je mal fait ou mal compris ?