Главная страница | назад





Article #22584: With an inproc server that uses Sharemem, the caller AV's on exit.

QUESTION:

Why is the caller getting an Access Violation on exit, when I use Sharemem?

ANSWER:

The problem is a call made to borlndmm.dll. The unload sequence on Win95 machines is at fault. The code runs fine on Win98, WinNT4, and Win2K. Linking the following unit will resolve the issue and the DLL does get unloaded.

unit Win95ShareMemFix;
interface
implementation
uses
Windows, ActiveX, Sysutils;
initialization
if (Win32Platform = VER_PLATFORM_WIN32_WINDOWS)
and (Win32MajorVersion = 4) and (Win32MinorVersion <= 0) then
Win32Check(CoLoadLibrary('borlndmm.dll', true) <> 0);
end.

Last Modified: 31-JUL-00