Bon voila ce que j'ai fait:
Sous Visual Studio je crée un projet "UnManaged" (VC++) où j'ai la classe suivante:
Code :
- class UNMANAGED_API UnManagedEditor : public Application { ... };
- struct UNMANAGED_API UnManagedFeedback { ... };
|
qui hérite de la classe Application provenant de la lib du moteur ("Engine.lib" ).
J'ai ensuite un projet "Managed" V(C++) avec la classe:
Code :
- public __gc class ManagedEditor
- {
- private:
- UnManagedEditor __nogc* UMEditor;
- UnManagedFeedback __nogc* UMFeedback;
- };
- ManagedEditor :: ManagedEditor ( )
- {
- UMFeedback = new UnManagedFeedback ( this );
- UMEditor = new UnManagedEditor ( UMFeedback );
- }
- ManagedEditor :: ~ManagedEditor ( )
- {
- delete UMEditor;
- delete UMFeedback;
- }
|
Et enfin le projet C# "Editor" où j'ai les déclaration suivantes:
Code :
- static class Program
- {
- [STAThread]
- static void Main ( string[] args )
- {
- Application.EnableVisualStyles ( );
- Application.SetCompatibleTextRenderingDefault ( false );
- try
- {
- Application.Run ( new EditorWindow() );
- }
- catch ( Exception e )
- {
- Debug.Write ( e.Message );
- }
- }
- }
- public partial class EditorWindow : Form
- {
- private ManagedEditor EditorApplication;
- public EditorWindow ( )
- {
- InitializeComponent ( );
- this.EditorApplication = new ManagedEditor ( );
- }
|
Problème: au lancement du programme, une exception System.IO.FileNotFoundException est lancée dans le try(); et le programme ne passe ni dans le constructeur de la classe EditorWindow ni dans le catch() : je n'ai pas de message dans l'OutputWindow!
En fait rien que la déclaration "private ManagedEditor EditorApplication;" déclenche le lancement de cette exception.
Qu'est-ce qui se passe?
Message édité par akalash47 le 17-02-2007 à 12:13:31