Найти ошибку в чужом Delphi-юните ("System error")

Александр19 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
13.07.2011

Сторонний разработчик написал юнит по подсчёту нагрузки на CPU каждого потока приложения - "threadsTiming"

Через некоторое время работы возникает ошибка "System error. Code: 5 - Отказано в доступе". Сам разработчик юнита сейчас недоступен, а решить баг нужно, и желательно срочно.

Исполнителю данный юнит будет выдан на анализ. Сможете его ещё и улучшить, оптимизировать - Вам + в отзыв и + в денежном эквиваленте.

Скрин сообщения об ошибке прилагается. Конечно, так баг найти сложнее, чем привлечь непосредственно разработчика юнита - но может Вы сталкивались с подобным и знаете решение проблемы :)

В юните используются функции:

function OpenThread(Access:dword;Inherit:dword;Id:dword):cardinal; stdcall;external 'kernel32.DLL';

function GetThreadIOPendingFlag(H:cardinal;var isPending:dword):cardinal; stdcall;external 'kernel32.DLL';

function GetSystemTimes(var IdleTime:int64;var KernelTime:int64;var UserTime:int64):cardinal;stdcall;external 'kernel32.DLL';

function GetProcessTimes(ProcId:cardinal;var CreateTime:int64;var ExitTime:int64;var KernelTime:int64;var UserTime:int64):cardinal;stdcall;external 'kernel32.DLL';

function GetThreadTimes(ThreadId:cardinal;var CreateTime:int64;var ExitTime:int64;var KernelTime:int64;var UserTime:int64):cardinal;stdcall;external 'kernel32.DLL';

Только профессионалам!

Заявки фрилансеров