none
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat. RRS feed

  • Frage

  • Hallo zusammen,

    ich hoffe ihr könnt mir bei meinem Problem weiter helfen. Ich weiß, es gibt bereits einen Thread mit dem selben Titel allerdings denke ich ist es ein unterschiedliches Problem. 

    Ich arbeite aktuell an einem GUI (WPF/xaml) für meine Skripte. Das ist allerdings auch für mich noch Neuland doch ich kann diesen Fehler auch durch simple Recherche mir nicht erklären.

    Ich habe bereits ein funktionierendes GUI erstellt, möchte jedoch mit meinem neuen ein deutlich ansprechenderes Design haben. Mein Problem ist nun folgendes:

    Über einen Button soll eine Funktion ausgelöst werden die in dem einen Skript vollständig funktioniert, in dem anderen trotz identischer Funktion nicht.

    Ich erhalte Folgende Meldung:

    Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
    In <Pfad zum Skript>Testscript.ps1:129 Zeichen:1
    + $Win10_aktivieren_button.Add_Click({win10_aktivierung $this $_})
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        + FullyQualifiedErrorId : InvokeMethodOnNull

    Funktion:

    #-------------------------------------------------------------# #----Control Event Handlers-----------------------------------# #-------------------------------------------------------------# #Lokal TabControl function win10_aktivierung { slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX slmgr.vbs -ato }

    #endregion

    #-------------------------------------------------------------#
    #----Script Execution-----------------------------------------#
    #-------------------------------------------------------------#
    
    $Window = [Windows.Markup.XamlReader]::Parse($Xaml)
    
    [xml]$xml = $Xaml
    
    $xml.SelectNodes("//*[@Name]") | ForEach-Object { Set-Variable -Name $_.Name -Value $Window.FindName($_.Name) }
    
    #Lokal TabControl
    
    $Win10_aktivieren_button.Add_Click({win10_aktivierung $this $_})
    
    $Window.ShowDialog()

    Der Button:

                        <Button x:Name="Win10_aktivieren_button" Content="Aktivieren" HorizontalAlignment="Left" Margin="10,54,0,0" VerticalAlignment="Top" Width="100" BorderBrush="Black" Foreground="#FFEAEAEA" Height="26" FontSize="12">
                            <Button.Background>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#FF4564CD" Offset="0"/>
                                    <GradientStop Color="#FF1C3EAE" Offset="1"/>
                                </LinearGradientBrush>
                            </Button.Background>
                        </Button>

    In einem anderen Skript funktioniert 1:1 der selbe Befehl reibungslos. Lediglich das Design ist anders. 

    Ich weiß nicht, ob ich das auch noch dazu erwähnen sollte, aber: Das GUI öffnet sich ohne Probleme. Die Meldung ist aus der PowerShell die im Hintergrund läuft. Der Button ist natürlich dadurch nicht mehr funktionsfähig. Danke für jede Hilfe und jeden Ratschlag!

    Mittwoch, 10. Februar 2021 13:40

Antworten


  •                     <Button x:Name="Win10_aktivieren_button" Content="Aktivieren" HorizontalAlignment="Left" Margin="10,54,0,0" VerticalAlignment="Top" Width="100" BorderBrush="Black" Foreground="#FFEAEAEA" Height="26" FontSize="12">
                            <Button.Background>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#FF4564CD" Offset="0"/>
                                    <GradientStop Color="#FF1C3EAE" Offset="1"/>
                                </LinearGradientBrush>
                            </Button.Background>
                        </Button>

    Hab den Fehler gefunden. Ein Flüchtigkeitsfehler. Für die, die das Problem ebenfalls mal haben sollten:

     <Button Name="Win10_aktivieren_button" Content="Aktivieren" HorizontalAlignment="Left" Margin="10,54,0,0" VerticalAlignment="Top" Width="100" BorderBrush="Black" Foreground="#FFEAEAEA" Height="26" FontSize="12">
    x:Name war der Fehler.


    • Als Antwort markiert xLucipher Mittwoch, 10. Februar 2021 15:38
    Mittwoch, 10. Februar 2021 15:38