Forum Replies Created
-
AuthorPosts
-
AlexioParticipant'Support' wrote:
В следующем релизе будут исправлены все вызовы CursorPos, надеюсь проблему это решит.
В v11.23 уже исправлено?
AlexioParticipantСпасибо большое, буду ждать!
AlexioParticipantЗабыл добавить, что ошибка “System Error. Code: 5. Отказано в доступе” возникает, если с программой работать через удаленное подключение (radmin). Поиск по сети показал, что такое бывает в момент определения позиции мышки при использовании функции Mouse.CursorPos. В качестве работающего решения предлагалось заменить этот вызов на что-то вроде
Code:function SafeGetMouseCursorPos: TPoint;
begin
if not Windows.GetCursorPos(Result) then
Result := Point(0, 0);
end;Код Mouse.CursorPos в VCL – потенциальное место возникновения Exception, который в sVclUtils, в функции CtrlUnderMouse не обрабатывается.
Code:function TMouse.GetCursorPos: TPoint;
begin
Win32Check(Windows.GetCursorPos(Result));
end;Кстати, можно это воспроизвести, поставив курсор на какой-нибудь альфаконтрол с активным хинтом sAlphaHints, потом заблокировать компьютер клавишами Win+L и разблокировать.
Можно что-то поправить?
AlexioParticipant'TCount' wrote:Я, конечно, не разрабочик AC, но со своей стороны могу предложить одно (я это всегда предлагаю):
1. Поскорее избавиться от Delphi 7 и перейти на современную среду разработки. Например, Embarcadero Delphi XE8 (или лучше Berlin 10.1).
2. Скачать и установить последнюю версию AC – то есть, 11.22.
С радостью бы, но перевод этого проекта на новые версии среды сравним с разработкой с нуля. Сотни тысяч строк, десятки мегабайт кода. Все это, ессно, без поддержки unicode и прочего. Ну и с пару десятков внешних библиотек, которые так же могут не поехать в новой среде. Конечно, когда-нибудь это сделать всё равно придётся, но точно не прямо сейчас 🙂
-
AuthorPosts