Создайте ресурс цвета в colors.xml
(в данном случае R.color.purple
) и используйте его так:
floatingActionButton.setBackgroundTintList(getResources().getColorStateList(R.color.purple));
CursorPos использует метод Windows GetCursorPos. В примечаниях к MSDN говорится, что у него есть два требования:
. Таким образом, скорее всего, хранитель экрана запущен на другом рабочем столе. С другой стороны, если вы используете Vista, я почти уверен, что диалоговое окно пароля (для разблокировки компьютера) работает и на другом рабочем столе.
Поскольку у вас есть исходный код для этого компонента, вы можете написать свою собственную оболочку для CursorPos, которая возвращает фиктивное значение при возникновении проблемы. (Edit: или комментатор предлагал обработать ошибку при получении позиции inline вместо написания функции, возвращающей фиктивное значение.)
Наконец, вы можете вызвать GetLastError, чтобы узнать, какая была последняя ошибка Windows после того, как было создано исключение. . Это должно сказать вам наверняка, с какой реальной проблемой он сталкивается. Как и в комментарии (спасибо!), Вы уже встречали сообщение об ошибке в сообщении об исключении.
Не видя кода и версии Windows, можно только догадываться. Я бы посмотрел на код процедуры TtaoHoverTimer.Timer в модуле taoCntrr.
Попробуйте вызвать метод GetCursorPos (cursorPos); в модуле Windows .
Примерно так:
var
cursorPos : TPoint;
begin
GetCursorPos(cursorPos);
cursorPos := ScreenToClient(cursorPos);
Он без проблем работает во всех моих приложениях.