Board index » delphi » Access violation in borlndmm.dll

Access violation in borlndmm.dll

Hello,
        The following error is getting thrown by our application server
E.ClassName = EAccessViolation
E.Message      =  Access violation at address 410049FC in module
'borlndmm.dll'. Write of address 52454DC3

(The project has Sharemem.pas as the first unit included in the uses clause
as specified)
Have any of you faced a similar problem before, or does anyone have any idea
what might cause this error?

Thanking you in advance for the help.

Regards,
Swapna.

 

Re:Access violation in borlndmm.dll


Hi Swapna,

Did you include ShareMem as the first unit in the PROJECT file for ALL
projects involved (i.e. both your EXE and DLL projects)?

What are you using ShareMem for? Why do you need it? SharedMem is for
passing Long Strings or Dynamic arrays to or from a DLL (or for
dynamically allocating memory inside of a DLL).

Thanks,
Brian

Re:Access violation in borlndmm.dll


Hello Brian and all,

    Sharemem.pas is included in all the projects that we have in our
application. We needed this unit because we extensively use Variant arrays
and OleVariants.
    Ok to be more specific. We have a multi-threaded, multi-instance corba
server which services multiple clients. And we run into this problem when
the number of clients gets larger.
Any other clues?

Regards,
Swapna.

Quote
"Brian Levonius" <blevo...@no.spam.ocv.com> wrote in message

news:3a25836d.183110078@newsgroups.borland.com...
Hi Swapna,

Did you include ShareMem as the first unit in the PROJECT file for ALL
projects involved (i.e. both your EXE and DLL projects)?

What are you using ShareMem for? Why do you need it? SharedMem is for
passing Long Strings or Dynamic arrays to or from a DLL (or for
dynamically allocating memory inside of a DLL).

Thanks,
Brian

Re:Access violation in borlndmm.dll


Swapna,

I don't think you should be using sharemem.pas. Why are you using
sharemem? Are you passing any long strings or dynamic arrays to a DLL?
If not, I don't think you should be using it, if I understand it
correctly. What happens if you remove that unit from your projects,
rebuild everything, and then test? I don't *think* sharemem has
anything to do with Variant arrays or OleVariants- those are COM
marshiable types. You should only need sharemem if you are passing an
"object pascal" dynamic array or a long string type to a DLL
(OLEVariants, or a variant array in an OLEVariant, don't need
sharemem).

-Brian

Other Threads