"Clipboard.SetText" wirft Fehlermeldung aus, wie beheben?

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Funcoder....

    "Clipboard.SetText" wirft Fehlermeldung aus, wie beheben?

    Hallo,

    nach längerem Googlen und versuchen von 2 verschiedenen Methoden, habe ich es immer noch nicht geschafft diese Fehlermeldung zu beheben:
    "Der angeforderte Clipboard Vorgang war nicht erfolgreich"

    Mein Code:

    VB.NET-Quellcode

    1. <STAThread()> _ '<--- Möglichkeit 1 die das beheben können sollte
    2. Sub CopyCoordinatesToClipboard()
    3. Try
    4. Dim t As New Threading.Thread(AddressOf Clipboard.SetText) '<--- Möglichkeit 2
    5. t.SetApartmentState(Threading.ApartmentState.STA) ' Wichtig!!
    6. t.Start(Cursor.Position.X & ";" & Cursor.Position.Y)
    7. Catch ex As Exception
    8. NotifyIcon1.ShowBalloonTip(1000, "Error", "Die Koordinaten konnten nicht in der Zwischenablage gespeichert werden", ToolTipIcon.Error)
    9. End Try
    10. End Sub


    Ich habe einmal per Hand irgendwas kopiert und wieder Eingefügt, das Programm nochmal gestartet und nochmal probiert, dann gings plötzlich wieder.
    Ich dachte es wäre gelöst, aber ein paar Versuche später, kam diese nervige Meldung schon wieder -.-**

    PS: Unter Xp gings vorher ohne Probleme, ich habe aber gestern Win 7 installiert, nun gehts nicht mehr...

    PPS: Es ist komisch das wenn ich das Programm nicht im Debugger starte funktioniert (also ohne Fehlermeldung).
    Aber wenn ich das Projekt geöffnet habe und es durch den Debugger läuft, taucht die Meldung auf Oo?

    Ich hoffe ihr könnt mir weiterhelfen!

    MfG Rob :)
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Rootbob91“ () aus folgendem Grund: PPS hinzugefügt ;D

    Hallo,

    hatte auch mal Probleme mit dem Einfügen in das Clipboard.
    Habe es dann so gelöst, dass mein Code "Clipboard.text = str(x)" mit unterdrückter Fehlerbehandlung solange in einer Warteschleife lief, bis entweder kein Err-Fehler mehr auftrat oder eine bestimmte Warte-Zeit abgelaufen ist. Bei letzterem erfolgte dann natürlich eine entsprechende Fehlermeldung.
    Damit verhindert man den Abbruch der Operation, wenn das Clipboard zu dem Zeitpunkt der Benutzung gerade durch andere Anwendungen temporär belegt ist.
    Vielleicht hilft Dir das.

    LG

    Vroni
    Hey,

    vielen Dank für eure Antworten!

    Es funktioniert jetzt endlich mit der Methode von Adam. (Etwas abgewandelt) :thumbsup:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. <STAThread()> _
    2. Sub CopyCoordinatesToClipboard()
    3. Dim Position As String = Cursor.Position.X & ";" & Cursor.Position.Y
    4. My.Computer.Clipboard.SetText(Position.ToString)
    5. End Sub



    Jetzt meckert der Debugger auch nicht mehr rum! :rolleyes:

    Mein Thx habt ihr ;)
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..