IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Héritage, lib, Solutions avec multiples projets


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 134
    Points : 69
    Points
    69
    Par défaut Héritage, lib, Solutions avec multiples projets
    Bonjour,

    Désolé pour le titre, mais ne comprenant pas ce qui m'arrive, je peux pas trop être plus précis


    Alors voilà, j'ai une solution avec plusieurs projets.
    Ya un projet en C++/ CLI avec lequel j'ai codé une appli

    et j'ai créé un projet "application WPF" afin de faire l'interface graphique.


    Il faudrait donc que ma classe c# hérite de quelques unes des classes que j'ai dans mes autres projets...

    Donc pour ça, j'ai fait hériter ma classe C# des classes nécessaires des autres projets, et j'ai ajouté les références qu'il faut...

    La compilation se passe sans problème, mais à l'exécution j'ai l'erreur :
    PhotoWPF a rencontré un prob et doit fermer ...
    En cliquant sur "débugger" il m'indique qu'il s'agit d'une exception non gérée (System.Windows.Markup.XamlParseException)

    Impossible de trouver le type « PhotoWPF.AppliPhoto ». L’assembly utilisé lors de la compilation peut être différent de celui utilisé pendant le chargement et le type est manquant. Erreur dans le fichier de balisage « AppliPhoto.xaml ».
    Mon xaml à cette tête là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <Window x:Class="PhotoWPF.AppliPhoto"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="PhotoWPF" Height="328" Width="677"
        WindowState="Maximized" WindowStyle="None" KeyDown="OnKeyDownHandler"
        >
      <Canvas Margin="0,0,0,0" Background="Ivory"  Name="back">
      </Canvas>
    </Window>
    et le c# correspondant :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    namespace PhotoWPF
    {
        /// <summary>
        /// Interaction logic for AppliPhoto.xaml
        /// </summary>
     
        public partial class AppliPhoto : 
            System.Windows.Window,
            PhotoApps.PhotoAppContainerElement
        {
     
            public AppliPhoto()
            {
                InitializeComponent();
     
                // Init datas PhotoApps.IPhotoAppContainerElement
                m_id = "mainwindow";
                m_windowSpace = new PhotoApps.PhotoAppSpace("test",
                    Brushes.Transparent, Brushes.LightGray, Brushes.Black, null);
     
            }
     
     
     
            // implémentation de l'interface PhotoApps.IPhotoAppContainerElement
            String m_id;
            public String Id
            {
                get{ return m_id; }
            }
     
            PhotoApps.PhotoAppSpace m_windowSpace;
            public PhotoApps.PhotoAppContainer Container
            {
              get { return m_windowSpace;}
            }
     
     
     
            // Handler du clavier
            private void OnKeyDownHandler(object sender, KeyEventArgs e)
            {
                if (e.Key == Key.Escape)
                {
                    this.Close();
                }
            }
     
        } // Fin class AppliPhoto
    } // Fin namespace
    Voilà...

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public partial class AppliPhoto : 
            System.Windows.Window,
            PhotoApps.PhotoAppContainerElement
    PhotoApps.PhotoAppContainerElement, c'est le nom d'une classe à toi ? Car en C#, on ne peut pas avoir d'héritage multiple...

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public partial class AppliPhoto : 
            System.Windows.Window,
            PhotoApps.PhotoAppContainerElement
    PhotoApps.PhotoAppContainerElement, c'est le nom d'une classe à toi ? Car en C#, on ne peut pas avoir d'héritage multiple...
    Non, ça semble être une interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    // implémentation de l'interface PhotoApps.IPhotoAppContainerElement
    Mais de toutes façons, si c'était une classe ça ne compilerait pas

    J'ai déjà eu ce genre de problème, en général c'est quand une erreur se produit dans le constructeur de la fenêtre... essaie d'exécuter pas à pas pour voir ce qui se passe

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Non, ça semble être une interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    // implémentation de l'interface PhotoApps.IPhotoAppContainerElement
    Mais de toutes façons, si c'était une classe ça ne compilerait pas
    Oui, c'est pour ca que cela m'étonne aussi.

    Sinon, essaye d'enlever ce code et de voir si ca marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    m_windowSpace = new PhotoApps.PhotoAppSpace("test",
                    Brushes.Transparent, Brushes.LightGray, Brushes.Black, null);

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Ah ça remarche !

    Donc en fait, il manquait simplement une dll dans le répertoire où est créé l'exe de mon appli WPF ...

    Ca aurait plus facile à résoudre si l'erreur avait été explicite mais bon.


    En tout cas merci pour votre attention

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    C'est vrai que ce problème est assez gênant : quand il y a une erreur dans le constructeur de la fenêtre, WPF parle d'une erreur de parsing XAML... au début, je fouillais désespérément mon XAML à la recherche de cette erreur, alors qu'en fait il n'y avait aucun problème dans le XAML !
    J'espère que MS va corriger ça dans une prochaine version de WPF...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. debogage Solution avec plusieurs projets Web
    Par flyisworking dans le forum Visual Studio
    Réponses: 0
    Dernier message: 29/08/2010, 16h46
  2. Parametres d'une solution avec plusieurs projets
    Par malayika dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/07/2009, 09h10
  3. Solution avec 2 projets
    Par squale69 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 11/05/2009, 16h17
  4. Problème Solution avec 2 projets
    Par jacquesprogram dans le forum VB.NET
    Réponses: 1
    Dernier message: 22/02/2008, 13h08
  5. Problème solution avec 2 projets
    Par webworker dans le forum Framework .NET
    Réponses: 2
    Dernier message: 13/04/2007, 08h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo