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

C# Discussion :

portage en .net 3.5


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 38
    Par défaut portage en .net 3.5
    Bonjour,
    J'ai développé une application utilisant abondamment les API Word en .NET 4.0. Pour des raisons pratiques et d'installation sur des plates-formes sur lesquelles je n'ai pas les droits, j'ai porté cette application en .NET 3.5 et ai quasiment terminé le portage. Néanmoins j'avais une fonction chargée de me retourner la valeur d'une propriété utilisateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      /// <summary>
            /// Méthode allant chercher dans un document Word la valeur d'une variable utilisateur.
            /// </summary>
            /// <param name="nvDoc">Document à analyser.</param>
            /// <param name="propriété">Nom de la variable à rechercher.</param>
            /// <returns>Valeur de la variable.</returns>
            private String getCustomProprieteDoc(Microsoft.Office.Interop.Word.Document nvDoc, String propriété)
            {
                for (int i = 1; i <= nvDoc.CustomDocumentProperties.Count; i++)
                    if (((String)nvDoc.CustomDocumentProperties.Item[i].Name).Equals(propriété)) return (String)nvDoc.CustomDocumentProperties.Item[i].Value.ToString();
                return "";
            }


    Qui fonctionnait très bien en 4.0 et qui ne compile plus maintenant.
    Je suis un peu perdu dans le portage de cette fonction et les éventuels cast à faire de la propriété CustomDocumentProperties qui en 3.5 est un Object.
    Quelqu'un peut il m'aider ?
    Par avance grand merci.
    A+

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    C'est quoi le message d'erreur ?

    Je ne vois pas de raison particulière que cette fonction ne compile pas.

  3. #3
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Il se peut qu'effectivement avec les types dynamiques (qui n'existent pas en .Net 3.5) posent problème. Il faudrait effectivement caster tout ce qui est retourné comme objet.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 38
    Par défaut
    nvDoc.BuiltInDocumentProperties.Count ne compile car BuiltInDocumentProperties est un objet.

    En quoi faut il le caster. Pouvez vous me donner un exemple ?
    Merci

  5. #5
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Caster en DocumentProperties ca devrait bien le faire :
    http://msdn.microsoft.com/en-us/libr...ffice.11).aspx

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 38
    Par défaut
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     DocumentProperties prop = (DocumentProperties) nvDoc.BuiltInDocumentProperties;
                for (int i = 1; i <= prop.Count; i++)
                    if (((String)prop.Item[i].Name).Equals(propriété)) return (String)nvDoc.BuiltInDocumentProperties.Item[i].Value.ToString();
    ca ne marche pas :
    i <= prop.Count j'ai

    Erreur 44 L'opérateur '<=' ne peut pas être appliqué aux opérandes de type 'int' et 'groupe de méthodes'

    pour :
    (((String)prop.Item[i].Name).Equals(propriété))

    j'ai :

    Erreur 61 'Microsoft.Office.Core.DocumentProperties' ne contient pas une définition pour 'Item' et aucune méthode d'extension 'Item' acceptant un premier argument de type 'Microsoft.Office.Core.DocumentProperties' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante*?)
    par avance merci

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

Discussions similaires

  1. portage en .net 3.5
    Par PSA78 dans le forum VBA Word
    Réponses: 2
    Dernier message: 12/05/2011, 09h56
  2. [Visual Studio .net] [portage] Resource View
    Par Cflo dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 13/04/2007, 17h01
  3. [C++.Net] Portage appli C++/MFC -> C++ .Net
    Par ager1912 dans le forum C++/CLI
    Réponses: 1
    Dernier message: 01/09/2006, 10h19
  4. NativeFramework : Portage de classes .NET en C++
    Par romeo9423 dans le forum C++
    Réponses: 2
    Dernier message: 18/05/2006, 00h27
  5. Warning portage C++ 6.0 -> .NET
    Par xela2000 dans le forum MFC
    Réponses: 1
    Dernier message: 14/12/2005, 13h21

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