Андрей Опубликовано 12 февраля, 2015 Поделиться Опубликовано 12 февраля, 2015 Здравствуйте! Каким образом можно почистить буфер обмена в С++ Builder XE7? Цитата Ссылка на комментарий
0 Андрей Опубликовано 17 апреля, 2015 Автор Поделиться Опубликовано 17 апреля, 2015 Копирую в буфер CopyToClipboard(); Вставляю из буфера PasteFromClipboard(); А как очистить буфер? Неужели ни кто не знает? Цитата Ссылка на комментарий
0 Андрей Опубликовано 17 апреля, 2015 Автор Поделиться Опубликовано 17 апреля, 2015 Может кто подскажет как это сделать средствами Android API? Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 17 апреля, 2015 Администраторы Поделиться Опубликовано 17 апреля, 2015 Добрый день, Посмотрите тему Как скопировать текст в буфер обмена? Чтобы очистить, нужно в буфер поместить TValue.Empty. Kitty 1 Цитата Ссылка на комментарий
0 Андрей Опубликовано 18 апреля, 2015 Автор Поделиться Опубликовано 18 апреля, 2015 Пытаюсь сделать так: #include <FMX.Platform.hpp> _di_IInterface Intf; if (TPlatformServices::Current->SupportsPlatformService(__uuidof(IFMXClipboardService), Intf)) { _di_IFMXClipboardService ClipboardService = Intf; ClipboardService->SetClipboard(TValue::Empty); } Компилируется нормально. При выполнении вываливается "Access violation at address 5A73D16A, accessing adress 00000003". Цитата Ссылка на комментарий
0 Андрей Опубликовано 18 апреля, 2015 Автор Поделиться Опубликовано 18 апреля, 2015 Вот рабочий код: #include <FMX.Platform.hpp> #include <System.IOUtils.hpp> //очистка буфера обмена if (TPlatformServices::Current->SupportsPlatformService(__uuidof(IFMXClipboardService))) { _di_IFMXClipboardService ClipboardService = TPlatformServices::Current->GetPlatformService(__uuidof(IFMXClipboardService)); ClipboardService->SetClipboard(TValue::Empty); } Но в буфере все равно остается (empty). Как же все таки очистить полностью? Kitty 1 Цитата Ссылка на комментарий
0 ivadimos Опубликовано 2 ноября, 2015 Поделиться Опубликовано 2 ноября, 2015 В 18.04.2015 в 18:40, Андрей сказал: Вот рабочий код: #include <FMX.Platform.hpp> #include <System.IOUtils.hpp> //очистка буфера обмена if (TPlatformServices::Current->SupportsPlatformService(__uuidof(IFMXClipboardService))) { _di_IFMXClipboardService ClipboardService = TPlatformServices::Current->GetPlatformService(__uuidof(IFMXClipboardService)); ClipboardService->SetClipboard(TValue::Empty); } Но в буфере все равно остается (empty). Как же все таки очистить полностью? Тоже столкнулся с такой проблемой. Решил таким образом: var а: IFMXClipBoardService; begin if TPlatformServices.Current.SupportsPlatformService(IFMXClipBoardService, Service) then var а: IFMXClipBoardService; begin if TPlatformServices.Current.SupportsPlatformService(IFMXClipBoardService, Service) then Service.SetClipboard(''); Евгений Корепов 1 Цитата Ссылка на комментарий
1 Sergey Krasilnikov Опубликовано 13 мая, 2016 Поделиться Опубликовано 13 мая, 2016 Начиная с XE7 надо ставить &, и у TValue есть шаблон генерации по типу. Вот так работает в Berlin: void __fastcall TForm1::Button2Click(TObject *Sender) { _di_IFMXClipboardService Intf; if (TPlatformServices::Current->SupportsPlatformService(__uuidof(IFMXClipboardService), &Intf)) { Intf->SetClipboard(TValue::From<String>("")); } } Rusland и Kitty 2 Цитата Ссылка на комментарий
Вопрос
Андрей
Здравствуйте!
Каким образом можно почистить буфер обмена в С++ Builder XE7?
Ссылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.