Requested Clipboard operation did not succeed. System.Runtime.InteropServices.ExternalException Source: System.Windows.Forms Stack Trace: at System.Windows.Forms.Clipboard.ThrowIfFailed(Int32 hr) at System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy, Int32 retryTimes, Int32 retryDelay) at System.Windows.Forms.Clipboard.SetText(String text, TextDataFormat format) at System.Windows.Forms.Clipboard.SetText(String text)Może to być spowodowane tym, że schowek nie został wyczyszczony przed zapisaniem danych lub tekstu. Niestety wcześniejsze opróżnienie schowka poleceniem
Clipboard.Clear();wcale nie gwarantuje nam poprawności działania.
Może też być spowodowane tym, że w tym samym czasie inny proces korzysta ze schowka i blokuje dostęp innych programów.
Jednak czasem występowanie tego błędu jest tak częste (szczególnie na komputerach z systemem Windows Vista), że równie dobrze może zależeć od ciśnienia atmosferycznego lub temperatury.
Rozwiązanie problemu jest proste (niestety funkcję SetText trzeba zastąpić funkcją SetDataObject) należy użyć parametrów retryTimes i retryDelay.
int retryTimes = 5; int retryDelay = 2; Clipboard.SetDataObject(yourObject, false, retryTimes,retryDelay);
Z mojego doświadczenia wynika, że problem odchodzi do krainy Wiecznych Łowów i więcej nam nie wchodzi w drogę.
Brak komentarzy:
Prześlij komentarz