AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zwischenablage gesperrt ?

Ein Thema von haentschman · begonnen am 29. Nov 2011 · letzter Beitrag vom 16. Dez 2011
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#1

Zwischenablage gesperrt ?

  Alt 29. Nov 2011, 19:27
Hallo an alle...

heute bekam ich von einem Kunden die Fehlermeldung "Zwischenablage konnte nicht geöffnet werden". Der Call Stack sagt daß, das TClipboard.Open fehlschlug.

Frage: unter welchen Bedingungen kann sowas vorkommen ? Ich persönlich sehe das zum ersten Mal.

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Zwischenablage gesperrt ?

  Alt 29. Nov 2011, 19:33
Bei Google suchenZwischenablage konnte nicht geöffnet werden
Ist da eventuell was bei?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#3

AW: Zwischenablage gesperrt ?

  Alt 29. Nov 2011, 19:43
Danke Luckie,

aber die habe ich größtenteils gelesen. Das MSDN sagt "andere Anwendungen schließen und neu probieren" Mir ging es eher auch darum ob das eher die Ausnahme ist oder die Regel werden kann. Dann würde ich das seperat behandeln.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Zwischenablage gesperrt ?

  Alt 29. Nov 2011, 20:23
Ich habe zufällig heute mit der Zwischenablage herumgespielt und da ist mir dieses Verhalten auch aufgefallen.

Bei mir ist dieser Fehler wesentlich öfter aufgetreten, allerdings reagiere ich auch direkt auf eine Änderung der Zwischenablage.

Mit folgendem Code kann ich aber dann doch auf die Zwischenablage zugreifen.

Es wird einfach bei einer Exception bis zu 50 mal versucht auf die Zwischenablage zuzugreifen und vor jedem Zugriff wird jeweils 20ms gewartet. Insgesamt wird also ca. 1 Sekunde versucht darauf zuzugreifen.

Oft funktioniert der erste Zugriff, aber teilweise auch erst nach dem 6-7 Mal
Delphi-Quellcode:
var
  lClipResult : Boolean;
  lClipCount : Integer;
begin
  lClipResult := False;
  lClipCount := 0;
  repeat
    Inc( lClipCount );

    if lClipCount > 1
    then
      Sleep( 20 );

    try
      Clipboard.Open;
      try

        // Jetzt irgendwas mit dem Clipboard machen

        lClipResult := True;
      finally
        Clipboard.Close;
      end;
    except
      // man könnte das jetzt protokollieren, aber macht eigentlich nur Sinn
      // wenn auch nach 50 Versuchen kein Zugriff erfolgen konnte
    end;

  until lClipResult or ( lClipCount > 50 );

end;
Meine Vermutung:

Die Zwischenablage ist durch eine andere Anwendung noch gesperrt, weil von dort etwas hineinkopiert (oder auch ausgelesen?) wird.
Somit ist das Verhalten wohl "normal", denn ich habe keine Information / Eigenschaft gefunden, die da lautet Clipboard.Locked o.ä.

Frag doch mal, ob an dem betroffenen Kundenrechner so was wie ein Clipboard-Manager installiert ist.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (29. Nov 2011 um 20:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Zwischenablage gesperrt ?

  Alt 30. Nov 2011, 04:59
Wenn irgendeine Anwendung OpenClipboard() aufruft ohne danach CloseClipboard() aufzurufen, dann ist das Clipboard dauerhaft gesperrt solange die unkooperative Anwendung läuft.
Meistens handelt es sich um einem Bug und eher selten um böse Absicht.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zwischenablage gesperrt ?

  Alt 30. Nov 2011, 19:39
Danke für die Info´s...
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#7

AW: Zwischenablage gesperrt ?

  Alt 16. Dez 2011, 09:41
Ich hole das mal wieder hoch...

aktuell habe ich die 2. gleichlautende Meldung von einem anderen Kundenrechner. Dort tritt nach Aussage der Sekretöse das Phänomen öfter mal auf.

...ich kümmere mich dann mal um den Workaround. Ich werde mal SirRufo´s Vorschlag implementieren.

  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz