Собственно, есть ли возможность работать с буфером обмена?
{$reference System.Windows.Forms.dll}
{$apptype windows}
uses System.Windows.Forms;
begin
Clipboard.SetText('abc');
writeln(Clipboard.GetText());
end.
Спасибо!
В буфере обмена лежит текст, который нельзя удалить, потому что буфер обмена занят другим процессом
begin
Clipboard.Clear;
// Clipboard.SetText('abc');
writeln(Clipboard.GetText());
end.
А вот такой вариант работает. Т.е. очистить буфер можно, а записать туда нельзя?
а так?
begin
Clipboard.Clear;
Clipboard.SetText('abc');
writeln(Clipboard.GetText());
end.
Нет, на SetText валится…
У меня работает
Может, как-то обеспечить одинаковость состояния буфера для всех экспериментаторов? А то получается не совсем корректное обсуждение “работает - валится”
Как писал ibond, проблема в том, что какое-то приложение блокирует доступ к буферу. К примеру, если в Download Master в настройках стоит “Отслеживать URL в буфере обмена”, то среда будет выдавать ошибку при попытке изменить содержимое, хотя и не всегда(видимо DM проверяет его лишь периодически).
Схожая проблема из-за DM бывает при запуске MS офиса.
Вот поди ж ты: отключил DM и всё сразу заработало Спасибо. Хотя осталось непонятным, почему при работающем DM другие приложения совершенно свободно работают с буфером обмена.