1
随着EurekaLog,我发现在我的应用程序此访问冲突:访问冲突UIB EventCallback
2.2 Address : 00404A77
2.5 Type : EAccessViolation
2.6 Message : Access violation at address 00404A77 in module 'MyApp.exe'. Write of address 4F4F4E30.
调用堆栈:
--------------------------------------------------------------------------------------------
|Address |Module |Unit |Class |Procedure/Method |Line |
--------------------------------------------------------------------------------------------
|*Exception Thread: ID=3748; Priority=??; Class= |
|------------------------------------------------------------------------------------------|
|00404A77|MyApp.exe | | | | |
|75E1CD33|kernel32.dll | | |LocalAlloc | |
|70BB2C72|MSVCR80.dll | | |__set_flsgetvalue | |
|76F16FF2|ntdll.dll | | |KiUserExceptionDispatcher| |
|0064FC04|MyApp.exe |uib.pas | |EventCallback |4430[5] |
|70BB29A0|MSVCR80.dll | | |_endthreadex | |
|75E1ED6A|kernel32.dll | | |GetDriveTypeW | |
|------------------------------------------------------------------------------------------|
和代码从uib.pas:
procedure EventCallback(UserData: Pointer; Length: Smallint; Updated: PAnsiChar); cdecl;
begin
if (Length > 0) and (Updated <> nil) then
if (Assigned(UserData) and Assigned(Updated)) then
with TUIBEventThread(UserData) do
begin
Move(Updated^, FResultBuffer^, Length);
FQueueEvent := True;
FSignal.SetEvent;
end;
end;
任何想法什么可能是错误的,以及如何解决它?
你能破译EurekaLog报告吗?哪一行代码是错误的? –
随着陈述给我heebie-jeebies。 (我认为我已经过度调节了。) – Sentient
@DavidHeffernan:根据调用堆栈,错误位于Move(..)行。 – Harriv