I am learning Powershell and attempting to create a GUI interface like the example here.
However, when I run this as it is, $x
is never defined. Any idea what I could be doing wrong? I know it has something to do with:
$OKButton.Add_Click({$x=$objListBox.SelectedItem;$objForm.Close()})
Because if I change it to:
$OKButton.Add_Click({Write-Host "worked";$objForm.Close()})
It does return worked
.
Your actionblock is running in a seperate local scope. To modify a global(session-wide) variable, use a scope-modifier(
$global:varname
). E.g.:More about scopes at Technet - about_Scopes (or write
Get-Help about_scopes
in PowerShell)