Monday, 30 January 2017

Enableraisingevents Waitforexit Doesnt Wait

J'ai donc combattu cette question depuis un certain temps maintenant et j'ai essayé de nombreuses façons de le réparer, mais je ne peux pas. Fondamentalement, ce que fait mon application appelle un fichier java pour charger une application sur un périphérique. Pendant que son chargement son impression il à une boîte de richtext, alors je voudrais passer au prochain dossier. Le problème que j'ai est que tandis que le premier fichier est chargé, le 2ème essaye de charger quelles affaires cas. J'ai essayé l'attente pour la sortie mais si je fais cela, alors les données de rendement ne sont pas écrites à la boîte de texte riche. Toutes les idées que j'ai essayé de mettre l'attente pour la sortie dans de nombreux endroits différents, mais il ne semble pas fonctionner. Deux méthodes ci-dessous écrivent le stdout ou l'erreur dans le champ richtext. Toutes les idées seraient excellentes. Basiquement, j'ai besoin du processus pour quitter, alors je peux continuer à penser le forloop pour charger le fichier suivant. Est-ce que vous obtenez n'importe quelle sorte de message d'erreur Il me semble que vos arguments sont - Xmx512M - jar. Manquant un espace après l'option de ligne de commande - jar. Cela pourrait être la cause de juste sortir tout de suite en raison de ne pas être en mesure de comprendre la commande. De plus, comme M. Babcock l'a suggéré, déplacez la méthode loaddPB hors du thread UI et assurez-vous d'envelopper la partie de chargement dans un sémaphore, de cette façon, seul un fichier est chargé à la fois et l'interface utilisateur peut continuer à faire ce dont elle a besoin faire. Ndash SPFiredrake Feb 9 12 at 15:29 Soyez averti que c'est un peu quothackishquot en ce que you39re bloquant toujours le thread UI, mais you39re pompage manuellement les événements à travers la file d'attente de messages. Ce n'est pas une bonne pratique, et la plupart des développeurs recommandera contre elle. La meilleure option est de jeter le code de chargement dans un thread séparé. Ndash SPFiredrake Feb 9 12 at 15: 54Lets lire ce que MSDN dit à ce sujet: La surcharge WaitForExit () () () est utilisée pour faire attendre le thread actuel jusqu'à ce que le processus associé se termine. Cette méthode demande au composant Process d'attendre une quantité infinie de temps pour que le processus quitte. Cela peut provoquer une application pour cesser de répondre. Par exemple, si vous appelez CloseMainWindow pour un processus qui a une interface utilisateur, la demande au système d'exploitation de terminer le processus associé peut ne pas être gérée si le processus est écrit pour ne jamais entrer sa boucle de message. Cette surcharge garantit que tout le traitement est terminé, y compris la gestion des événements asynchrones pour la sortie standard redirigée. Vous devez utiliser cette surcharge après un appel à la surcharge WaitForExit (Int32) lorsque la sortie standard a été redirigée vers les gestionnaires d'événements asynchrones. C'est bien sûr pour. NET. Ce qui vous fait penser qu'il n'attend pas que le processus Note se termine Quels sont les signes de cela Quelle est la preuve Vendredi, 20 Février 2009 20h13 Ne sais pas si cela a changé récemment, mais de retour dans les applications jour sur la fenêtre Mobile n'a jamais vraiment fermé lorsque vous avez frappé le X pour les fermer, ils ne feraient que minimiser et continuer à courir en arrière-plan (ce n'était pas un bug, c'était une fonctionnalité, car la prochaine fois que vous démarrez l'application, il serait démarré très vite, yah Je sais, fou, mais vrai) de sorte que pourrait être pourquoi WaitForExit est peut-être se comporter étrangement et attendre le démarrage de l'application au lieu de la sortie. Mais encore une fois c'est juste la spéculation basée sur le savoir des anciennes versions de Windows Mobile. Vendredi, Février 20, 2009 11:03 PM J'aimerais bump cette question. Im sur Windows Mobile 6 Standard et Im essayant de frayer une instance de navigateur. J'aimerais attendre que l'utilisateur ferme le navigateur. Mais WaitForExit retourne extrêmement rapide. Voici le code: Processus p nouveau Process () p. StartInfo. Arguments quotexample-sitequot p. StartInfo. Verb quotOpenquot p. StartInfo. UseShellExecute faux p. StartInfo. FileName quotIExplore. exequot p. Start () p. WaitForExit () MessageBox. Show (quotNow le navigateur doit être closedquot) Quelle devrait être la bonne façon d'obtenir les résultats attendus lundi, 08 juin 2009 22h45 Où symbole est. symbole. AlexB Tuesday, June 09, 2009 21:58 Im voyant le même problème, mais sur XP. Je pense que la preuve peut être vu dans n'importe quel débogueur (comme je le vois), ou dans n'importe quelle application de console (pas nécessairement sur Mobile), sauf que vous n'avez pas alors obtenir un objet de processus que vous pouvez utilisation. Si vous essayez Dim myProc As New Process () myProc Process. Start (quotiexplorequot, quotfinance. yahooqhpsquot symbole) myProc. WaitForExit () Il retourne toujours immédiatement. Mercredi, 02 septembre 2009 20h48 Le problème est que vous ne démarrez pas une nouvelle instance de iexplore. exe. Vous créez simplement une nouvelle fenêtre sur le processus existant. Ma conjecture est iexplore. exe commence, voit une instance précédente et communique avec l'instance précédente de sorte qu'elle ouvre la nouvelle fenêtre, et alors cette instance que vous avez commencée les sorties immédiatement. Donc, le comportement est correct et à prévoir. Blog. voidnish mercredi, 02 septembre 2009 20:52 Microsoft mène actuellement un sondage en ligne pour comprendre votre opinion sur le site Web Msdn. Si vous choisissez de participer, le sondage en ligne vous sera présenté lorsque vous quitterez le site Web Msdn. Voudriez-vous participer


No comments:

Post a Comment