Wenn es sowieso nur in der
DLL ist, warum ist es da überhaupt drin?
ShareMem ist dafür da, um über Modulgrenzen (EXE<>
DLL und/oder
DLL/
DLL) hinweg den Speichermanager zu scharen.
Und ansonsten wirde ich heutzutage auch ganz auf diese
DLL verzichten und System.SimpleShareMem.pas verwenden, welches den eingebauten Speichermanager der
DLL/EXE (jenachdem wer zuerst geladen wird) gemeinsam zu verwenden.
An deiner Stell wirde ich mal den Debugger nehmen und schauen von wo diese Exceptions her kommen.
Delphi XE2 müsste Version 16.0 sein, also wäre eigentlich die V16 die passendere Version.