Question Thread et ressources allouées à un seul process

Plus d'informations
il y a 13 ans 4 mois #13024 par JJ
Bonjour, J’ai ce qui semble un bug de Windows PowerShell que je ne retrouve pas avec les éditeurs de PowerShell comme Windows PowerShell ISE et n’arrive pas à le contourner, pourriez-vous m’aider s’il vous plait.
Au clic sur un bouton, si je lance une fonction comme « Start-Sleep -Milliseconds 5000 » ou autre
Apres avoir voulu afficher une progressBar comme suit
[code:1]
$progressBar2.Visible = $true
$lbl_Result.Text = \"Veuillez patienter...\"
$btn_Export.Enabled = $false
Start-Sleep -Milliseconds 5000
[/code:1]
Le bouton se grise bien et le progressBar2 s’affiche bien mais l’appel après à une fonction comme Start-Sleep fige tous les progressBar le temps que cette fonction n’a pas finie d’être traité
Es-ce parce que les progressBar n’ont pas assez de ressources CPU allouées :huh: ?
Suis-je obligé de lancer la fonction dans un thread à part, si oui auriez-vous un exemple quelque part ?

voir fichier joint
merci d'avance

La pièce jointe TestPBMajProgressBar.ps1 est absente ou indisponible

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 4 mois #13034 par Laurent Dardenne
Salut, je ne vois pas de pb de freeze avec ton code, mais en lisant sur MSDN la doc de Progressbar il est fait mention des styles visuesl, donc en picorant de ci, de là, On trouve une solution :
[code:1]

[reflection.assembly]::loadwithpartialname(\"System.Windows.Forms\"«») | Out-Null
[reflection.assembly]::loadwithpartialname(\"System.Drawing\"«») | Out-Null
#ajouter AVANT tout affichage
[System.Windows.Forms.Application]::EnableVisualStyles()
[System.Windows.Forms.Application]::«»DoEvents()
[/code:1]
Testé dans une console PS v3 en mode STA.<br><br>Message édité par: Laurent Dardenne, à: 14/11/12 15:15

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 4 mois #13038 par JJ
Salut,
Moi même en faisant ce que tu dis que j'utilise Windows PowerShell, Windows PowerShell ISE ou PowerGUI sous Seven cela est le même problème, les progressBar figent dès que je lance la fonction Timeout.
il y a l’ère vraiment d'avoir un problème de gestions de ressources pour qui arrête plus ou moins des traitement pour ne se consacrer uniquement à la dernière fonction lancée.:unsure:<br><br>Message édité par: bidouilles, à: 14/11/12 16:32

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 4 mois #13040 par Laurent Dardenne
Charge Powershell en utilisant le paramètre -STA

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 4 mois #13046 par JJ
merci mais en ajoutant le parametre -STA au lancement de WindowsPowerShell comme suit:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -STA -command \&quot;C:\JM\PowerShell\TestPBMajProgressBar.PS1\&quot;

cela fige les progressBar dès le début en v2 si je ne met pas
[code:1]
[System.Windows.Forms.Application]::EnableVisualStyles()
[System.Windows.Forms.Application]::«»DoEvents()
[/code:1]
et me remet dans mon problème de départ si je le met (que ce soit en v2 ou en v3)
c'est à dire que cela me refige quand je lance le timeOut en appuyant sur le bouton :S

Message édité par: bidouilles, à: 14/11/12 17:18

Message édité par: bidouilles, à: 14/11/12 17:37<br><br>Message édité par: bidouilles, à: 15/11/12 11:09

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 4 mois #13085 par Matthew BETTON
Bonsoir,

Je constate que ça fige, une fois après avoir cliqué sur le bouton et après quelques secondes, ça repart.

Peux tu tester en diminuant la tempo à 500 ms au lieu de 5 s ? (toujours avec la modif proposée par Laurent)

[code:1]Start-Sleep -Milliseconds 500[/code:1]

Pour moi c'est OK :)

@ +

Matthew

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.065 secondes
Propulsé par Kunena