Its not too hard there are lots of examples around. Sharing data
amongst many applications via shared memory is reasonably common thing
to do. The way we did it was to have a dll written in unmanaged C++.
With .Net 2.0 it was real easy to use the dll in managed C++. In our
case .Net is only one development environment to use the shared memory.
We also use VB6, C++, Labview, and Java. Our shared memory can also be
shared to other machines so applications can be distributed. It uses an
replication scheme to manage this. Bottom line is though you will
probably have to learn C++ and Win32 APIs to do this. The really hard
part though is doing things in a very concurrency safe scheme. Unless
you are really familiar with Mutexes and NT events you might have a very
difficult time to get it safe. Also creating a shared memory manager
with compaction is also tricky especially if any of your applications
are soft real time like ours. I have a solid code base for dealing with
all this and would live to open source it but can't because i used
company tools to make it. Someday i will start from scratch on my own
machine on my own time to create a new code base so i can open source
it. That may be a while though.
Hope this helps
Leon Lambert
Michael Nemtsev wrote:
Hello herbert,
hThe apps need to share a common memory as there are lots of variables
hto be shared (and synchronized of course).
Shared among who? How much your app is distributed?
For example you can use MMF
http://groups.google.com/groups/sear...y+mapped+file&
but I'm not sure that is the right thing for u
hI need distinct apps for reasons like user interaction/access rights,
herror compartments, and because the size of the code, access to various
hports, ...
So, u need the set of control services? how shared memory will help u here?
---
WBR,
Michael Nemtsev [C# MVP] :: blog: http://spaces.live.com/laflour
"At times one remains faithful to a cause only because its opponents do
not cease to be insipid." (c) Friedrich Nietzsche