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 :

Application.restart() entraine une exception win32Exception


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Points : 16
    Points
    16
    Par défaut Application.restart() entraine une exception win32Exception
    Bonjour à tous,

    Je débute dans le C# et je développe en WinForm.
    J'essaye de créer une application multi-langage et donc je dois redémarrer mon application pour que la langue soit effective.
    Tout le monde conseille d'utiliser la fonction Lorsque j’exécute le programme j'obtiens une erreur exception win32Exception pour cette ligne.

    Je ne comprends pas pourquoi.

    Pourriez vous me guider vers la solution au problème.

    Bien à vous

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par grochenel Voir le message
    une application multi-langage et donc je dois redémarrer mon application pour que la langue soit effective
    le lien de cause à effet que tu mentionnes ne dépend que de toi et de ce que tu utilises pour le faire

    sinon une exception peut etre catchée avec un try catch, ce qui te permettrait d'avoir plus de détails à nous donner
    .restart ne peut pas causer de win32exception, c'est donc un truc qui se passe suite au .restart qui cause le problème, et qui sera surement dans le stacktrace de l'exception
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Merci de vous intéresser à mon cas.

    voici les informations d'erreur récupérées:

    L'exception System.ComponentModel.Win32Exception n'a pas été gérée
    HResult=-2147467259
    Message=L’opération a été annulée par l’utilisateur
    Source=System
    ErrorCode=-2147467259
    NativeErrorCode=1223
    StackTrace:
    à System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
    à System.Diagnostics.Process.Start()
    à System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
    à System.Windows.Forms.Application.Restart()
    à WindowsFormsApplication1.Form1.anglaisToolStripMenuItem_Click(Object sender, EventArgs e) dans \\vmware-host\shared folders\documents\visual studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\Form1.cs:ligne 186
    à System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
    à System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
    à System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
    à System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
    à System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
    à System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
    à System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
    à System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
    à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    à System.Windows.Forms.Control.WndProc(Message& m)
    à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    à System.Windows.Forms.ToolStrip.WndProc(Message& m)
    à System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
    à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    à System.Windows.Forms.Application.Run(Form mainForm)
    à WindowsFormsApplication1.Program.Main() dans \\vmware-host\shared folders\documents\visual studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\Program.cs:ligne 18
    à System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
    à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    à System.Threading.ThreadHelper.ThreadStart()
    InnerException:

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    à tout hasard, remplacez

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim th as new system.threading.thread(sub() Application.Restart)
    th.start
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    J'ai essayé le code mais j'ai des erreurs au niveau de la variable et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sub() Application.Restart
    Après encore une recherche, dans Pile des appels j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    pour Application.Restart(); WindowsFormsApplication2.exe!WindowsFormsApplication1.Form1.anglaisToolStripMenuItem_Click(object sender, System.EventArgs e) Ligne 213 
     
    pour Application.Run(new Form1()); WindowsFormsApplication2.exe!WindowsFormsApplication1.Program.Main() Ligne 18 + 0x1d octets
    Cela peut aidée

    Une autre idée ?

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pardon c'est du code vb.net que je t'ai mis, à traduire en c# donc (et rajouter un threading.thread.sleep(100) avant le restart)

    la pile n'aide pas trop, ca dit juste que ton toolstrip a appelé .restart et que ca a planté sur .restart, mais je ne vois pourquoi le .restart planterait ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    J'ai trouvé

    L'erreur ne provenait pas du code mais du chemin où se trouve le répertoire du Projet.

    Vu que je suis sous Mac, j'ai une machine virtuelle Windows 7 où le dossier Documents est partagé entre Mac et Windows. J'ai changé le répertoire du projet pour qu'il se trouve uniquement sur la machine virtuelle et plus d'erreur.

    Si un jour quelqu'un a le même problème que moi sous les même conditions voilà la Solution

    Bien à vous

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/08/2013, 23h29
  2. Réponses: 2
    Dernier message: 30/01/2012, 11h44
  3. Réponses: 2
    Dernier message: 25/07/2010, 15h32
  4. Réponses: 4
    Dernier message: 14/02/2005, 19h41

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