Einzelnen Beitrag anzeigen

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