Alexio

Forum Replies Created

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • Alexio
    Participant
    'Support' wrote:

    В следующем релизе будут исправлены все вызовы CursorPos, надеюсь проблему это решит.

    В v11.23 уже исправлено?

    Alexio
    Participant

    Спасибо большое, буду ждать!

    Alexio
    Participant

    Забыл добавить, что ошибка “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 и разблокировать.

    Можно что-то поправить?

    Alexio
    Participant
    'TCount' wrote:

    Я, конечно, не разрабочик AC, но со своей стороны могу предложить одно (я это всегда предлагаю):

    1. Поскорее избавиться от Delphi 7 и перейти на современную среду разработки. Например, Embarcadero Delphi XE8 (или лучше Berlin 10.1).

    2. Скачать и установить последнюю версию AC – то есть, 11.22.

    С радостью бы, но перевод этого проекта на новые версии среды сравним с разработкой с нуля. Сотни тысяч строк, десятки мегабайт кода. Все это, ессно, без поддержки unicode и прочего. Ну и с пару десятков внешних библиотек, которые так же могут не поехать в новой среде. Конечно, когда-нибудь это сделать всё равно придётся, но точно не прямо сейчас 🙂

Viewing 4 posts - 1 through 4 (of 4 total)