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 :

add-in : OnStartUp [Débutant]


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 7
    Points : 6
    Points
    6
    Par défaut add-in : OnStartUp
    Bonjour tout le monde !
    Alors voila j'ai un petit problème tout bête mais dont je ne trouve pas la solution.
    J'ai implémenté dans ma class un OnStartUp() et un OnShutDown() mais au lancement de mon programme rien ne se passe !!
    Le code fonctionne pourtant quand je le place dans mon execute().

    Je présume que le problème doit venir de mon add-in mais impossible de savoir comment le construire correctement. J'ai passé pas mal de temps à chercher une réponse mais aucun tuto ne semblait répondre à mon problème ....
    Du coup je vous passe le code de mon .addin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="utf-8"?>
    <RevitAddIns>
      <AddIn Type="Command">    
        <Assembly>
          C:\Users\a\Documents\Visual Studio 2015\Projects\ClassLibrary3\ClassLibrary3\bin\Debug\ClassLibrary3.dll
        </Assembly>
        <ClientId>502fe383-2648-4e98-adf8-5e6047f9dc35</ClientId>
        <FullClassName>Class1</FullClassName>
        <Text>ClassLibrary3</Text>
        <VendorId>ADSK</VendorId>
        <VisibilityMode>AlwaysVisible</VisibilityMode>
      </AddIn>
    </RevitAddIns>
    Je ne savais pas exactement ou poser ma question mais vu que le code de ma class est en C# je me suis dit que j'allais poster ça ici !!

  2. #2
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Bonjour,

    Il est difficile d'estimer où ça bloque avec ces infos... Pourrais tu nous montrer comment est implémenté le OnStartUp, et comment il est associé à un événement (s'il s'agit bien de ça)?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    le code de mon OnStartUp :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     public Result OnStartup(UIControlledApplication a)
        {
            System.Windows.Forms.MessageBox.Show("test");
            adWin.RibbonControl ribbon
              = adWin.ComponentManager.Ribbon;
     
            foreach (adWin.RibbonTab tab in ribbon.Tabs)
            {
                System.Windows.Forms.MessageBox.Show("test");
                if (tab.Id == "Analyse")
                {
     
                    foreach (adWin.RibbonPanel panel
                      in tab.Panels)
                    {
                        if (panel.Source.Id == "cea_shr")
                        {
                            adWin.RibbonButton button
                              = new adWin.RibbonButton();
     
                            button.Name = "TbcButtonName";
                           // button.Image = Image.FromFile("C:\\Users\\maxime\\Downloads\\12347734_10204048769899926_1746719051843979140_n.jpg");
                            //button.LargeImage = image;
                            button.Id = "ID_TBC_BUTTON";
                            button.AllowInStatusBar = true;
                            button.AllowInToolBar = true;
                            button.GroupLocation = Autodesk.Private
                              .Windows.RibbonItemGroupLocation.Middle;
                            button.IsEnabled = true;
                            button.IsToolTipEnabled = true;
                            button.IsVisible = true;
                            button.ShowImage = true;
                            button.ShowText = true;
                            button.ShowToolTipOnDisabled = true;
                            button.Text = "Export vues";
                            button.ToolTip = "Open The Building "
                              + "Coder blog on the Revit API";
                            button.MinHeight = 0;
                            button.MinWidth = 0;
                            button.Size = adWin.RibbonItemSize.Large;
                            button.ResizeStyle = adWin
                              .RibbonItemResizeStyles.HideText;
                            button.IsCheckable = true;
                            button.Orientation = System.Windows
                              .Controls.Orientation.Vertical;
                            button.KeyTip = "TBC";
     
                            adWin.ComponentManager.UIElementActivated
                              += new EventHandler<
                                adWin.UIElementActivatedEventArgs>(
                                ComponentManager_UIElementActivated);
     
                            panel.Source.Items.Add(button);
     
                            return Result.Succeeded;
                        }
                    }
                }
            }
            return Result.Succeeded;
        }

    En gros normalement ca crée un bouton.
    Je ne sais pas exactement comment fonctionne l'appel de ma fonction. A ce que j'ai vu sur les forums américains du produit pour lequel je développe mon module (Revit) il faudrait que je rajoute un call de mon OnStartUp dans mon Add-in.

  4. #4
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Ok, donc si j'ai bien compris, le code que tu as dans cette méthode fonctionne quand tu le met dans un execute.

    Citation Envoyé par maxife Voir le message
    A ce que j'ai vu sur les forums américains du produit pour lequel je développe mon module (Revit) il faudrait que je rajoute un call de mon OnStartUp dans mon Add-in.
    Donc il ne te reste maintenant qu'a faire l'appel de ce fameux OnStartUp. Et là il faut se référer à la documentation du produit.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    oui ca fonctionne parfaitement !
    Mais vu qu'il a pour but d'optimiser l'application en réduisant le nombre de clics pour des scénarios courants ca perd beaucoup de son intérêt si ca impose de cliquer pour faire apparaitre le bouton ....

    Le problème c'est que leur manuel est tout moisi !!
    Ils ne donnent que le nom des fonctions disponibles en c# et aucune info sur comment les utiliser ou comment creer un add-in....

  6. #6
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par maxife Voir le message
    oui ca fonctionne parfaitement !
    [...]
    Le problème c'est que leur manuel est tout moisi !!
    Ce qui veux dire que le problème ne vient pas de ton code. Pour solutionner ton appel de OnStartUp, je suppose qu'ils doivent fournir un support ou même des exemples simples qui mettent en oeuvre leur solution. Dans tous les cas nous ne pourrons pas t'aider ici, désolé

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Alors oui mais non ... Leur support m'explique quels sont les paramètres de la fonction et un rapide descriptif de son but mais aucun exemple d'implémentation ...
    Mais du coup c'est bon j'ai réussi à trouver en postant un message sur les forums dédiés au produit !
    C'était bien un problème du add-in. Mon FullClassName n'était pas complet et mon type n'était pas bon. J'avais command au lieu de Application !
    Mais merci quand même pour votre aide les gars !!

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

Discussions similaires

  1. message : cannot add new member
    Par meli0207 dans le forum MFC
    Réponses: 3
    Dernier message: 06/06/2005, 14h52
  2. Réponses: 3
    Dernier message: 25/04/2005, 13h38
  3. Réponses: 3
    Dernier message: 30/03/2005, 23h15
  4. developpement d'add-on
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/02/2005, 09h15
  5. add int
    Par Bernybon dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/02/2004, 14h26

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