Question WPF et MultiThread

Plus d'informations
il y a 7 ans 4 mois #20552 par Richard Lazaro
WPF et MultiThread a été créé par Richard Lazaro
Hello Guys,

Voilà je me renseigne pour faire de l'interface avec WPF (ça facile) mais avec du multi thread (et là dessuite ...)

Pour cela, je me base sur le lien suivant :

Mais j'ai un soucis, l'exécution du code donné fonctionne sur ISE mais pas sur la console powershell de base ...

Voici le code :
[code:1]
$syncHash = [hashtable]::«»Synchronized(@{})
$newRunspace =[runspacefactory]::CreateRunspace()
$newRunspace.ApartmentState = \"STA\"
$newRunspace.ThreadOptions = \"ReuseThread\"
$newRunspace.Open()
$newRunspace.SessionStateProxy.SetVariable(\"syncHash\",$syncHash)
$psCmd = [PowerShell]::Create().AddScript({
[xml]$xaml = @\"
<Window
xmlns=\"schemas.microsoft.com/winfx/2006/xaml/presentation\";
xmlns:«»x=\"schemas.microsoft.com/winfx/2006/xaml\";
x:Name=\"Window\" Title=\"Initial Window\" WindowStartupLocation = \"CenterScreen\"
Width = \"600\" Height = \"800\" ShowInTaskbar = \"True\">
<TextBox x:Name = \"textbox\" Height = \"400\" Width = \"600\"/>
</Window>
\"@

$reader=(New-Object System.Xml.XmlNodeReader $xaml)
$syncHash.Window=[Windows.Markup.XamlReader]::Load( $reader )
$syncHash.TextBox = $syncHash.window.FindName(\"textbox\"«»)
$syncHash.Window.ShowDialog() | Out-Null
$syncHash.Error = $Error
})
$psCmd.Runspace = $newRunspace
$data = $psCmd.BeginInvoke()
[/code:1]

Une fenêtre devrait apparaitre ...
Qu'est ce que je loupe ?

Bien Cordialement,
Richard LAZARO.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 7 ans 3 mois #20567 par NicolasBdn
Réponse de NicolasBdn sur le sujet Re:WPF et MultiThread
Salut,

Tu as juste oublié une petite chose au début du script:

[code:1]### Assembly Necessaire pour la fenêtre graphique ###
Add-Type -AssemblyName PresentationFramework
Add-Type -AssemblyName PresentationCore
Add-Type -AssemblyName WindowsBase
[/code:1]

Avec ça ta fenêtre devrait s'ouvrir :)

Tu peux t'aider de ma dernière réponse sur ce poste:
powershell-scripting.com/index.php?optio...id=19769&catid=6

Message édité par: NicolasB, à: 2/08/15 22:20

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

Plus d'informations
il y a 7 ans 3 mois #20592 par SiSMik
Réponse de SiSMik sur le sujet Re:WPF et MultiThread
Bon courage Richard... c'est le bordel le multithreading et WPF ^^

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

Plus d'informations
il y a 7 ans 3 mois #20601 par NicolasBdn
Réponse de NicolasBdn sur le sujet Re:WPF et MultiThread
Les début son laborieux c'est vrai...
Le erreurs de vrai calvaire...

Mais une fois finis c'est que du bonheur :)

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

Plus d'informations
il y a 7 ans 3 mois #20620 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:WPF et MultiThread
Salut,

Je suis de l'avis de benduru...

NicolasB écrit:


Tu peux t'aider de ma dernière réponse sur ce poste:
powershell-scripting.com/index.php?optio...gt;<br>Message édité par: NicolasB, à: 2/08/15 22:20


Du coup j'ai refais des tests, mais je constate toujours des lags, même s'ils sont moins présents, lors du traitement et d'un déplacement de la fenêtre. On se trouve toujours dans une STA (Single Thread Application). L'astuce est toujours de \&quot;hacher le traitement pour laisser le temps à Windows de redessiner la fenêtre\&quot;.

PowerShell n'est pas fait pour ça et pour le développement d'une interface graphique évoluée, il est préférable d'utiliser un autre langage (compilé) comme C++ ou C#.<br><br>Message édité par: Matthew BETTON, à: 3/09/15 08:55

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

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