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

Eclipse Platform Discussion :

Ouvrir une fenetre d'erreur dans restoreState


Sujet :

Eclipse Platform

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 27
    Points
    27
    Par défaut Ouvrir une fenetre d'erreur dans restoreState
    Bonjour,

    Je développe une appli dans laquelle je souhaite restaurer l'état du workbench à l'ouverture. J'implémente donc la méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public IStatus restoreState(IMemento memento)
    Pour des raisons de robustesse, j'effectue quelques tests sur l'état que je restaure et aurait donc besoin d'afficher une fenetre d'erreur dans certains cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageDialog.openError(null, "Open Error", "The project [...]");
    Lorsque je rentre dans un tel cas, j'ai une exception (voir en bas du post).
    J'ai voulu essayer en mettant autre chose que null mais impossible de récupérer un shell (soit je tombe sur un null, soit j'ai une exception Invalid Thread).
    Quelqu'un a-t-il déjà eu ce problème ou une idée pour me sortir de la?
    D'avance merci

    L'exception générée:
    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
    !ENTRY org.eclipse.ui.workbench 4 2 2008-06-17 09:41:30.843
    !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
    !STACK 0
    java.lang.NullPointerException
    	at org.eclipse.jface.dialogs.IconAndMessageDialog.getSWTImage(IconAndMessageDialog.java:275)
    	at org.eclipse.jface.dialogs.IconAndMessageDialog.getErrorImage(IconAndMessageDialog.java:225)
    	at org.eclipse.jface.dialogs.MessageDialog.<init>(MessageDialog.java:141)
    	at org.eclipse.jface.dialogs.MessageDialog.openError(MessageDialog.java:313)
    	at org.myproject.app.ApplicationWorkbenchAdvisor.restoreState(ApplicationWorkbenchAdvisor.java:54)
    	at org.eclipse.ui.internal.Workbench.doRestoreState(Workbench.java:3311)
    	at org.eclipse.ui.internal.Workbench.access$32(Workbench.java:3294)
    	at org.eclipse.ui.internal.Workbench$53.run(Workbench.java:2112)
    	at org.eclipse.ui.internal.Workbench.runStartupWithProgress(Workbench.java:1820)
    	at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:2110)
    	at org.eclipse.ui.internal.Workbench.access$30(Workbench.java:2081)
    	at org.eclipse.ui.internal.Workbench$48.run(Workbench.java:1939)
    	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    	at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1883)
    	at org.eclipse.ui.internal.WorkbenchConfigurer.restoreState(WorkbenchConfigurer.java:183)
    	at org.eclipse.ui.application.WorkbenchAdvisor$1.run(WorkbenchAdvisor.java:779)

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    essaie plutôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Display.getDefault().asyncExec(new Runnable() {
      public void run() {
                         MessageDialog.openError(new Shell(), "Open Error", "The project [...]");
    	}
    });
    ca lance un thread UI qui s'exécute en parallèle, si tu veut que ça soit synchrone utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Display.getDefault().syncExec(new Runnable() {...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 27
    Points
    27
    Par défaut
    Merci! Ca fonctionne!

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

Discussions similaires

  1. Comment ouvrir une fenetre dans une autre [C#]
    Par strix.dev dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/08/2011, 09h59
  2. Ouvrir une fenetre dans GUI
    Par imorfal dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 25/05/2011, 00h29
  3. Réponses: 1
    Dernier message: 24/03/2011, 14h35
  4. Réponses: 3
    Dernier message: 02/04/2010, 02h14
  5. Modification d'un texte dans une fenetre "d'erreur"
    Par PAUL87 dans le forum Access
    Réponses: 8
    Dernier message: 21/10/2005, 13h12

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