c# receive events from another application

I have a 3rd party application that provides external access through an extension api.  the way that works is that we provide a dll that references the extension api and will receive event notifications from the extension api as well as pass commands to the extension api.  My dll must reside in a sub folder of the 3rd party app, so that when the app loads it will then load my dll.

Here is my problem:  I don't know how to communicate with my dll.  Here's what I mean:
1. my application starts the 3rd party application via process.start();  this works perfectly.
2. the 3rd party app starts and loads my dll, which starts receiving events from the 3rd party app.
3. PROBLEM:  I can't receive the events from my dll!

I've tried referencing my dll and the 3rd party extension api dll in my own app, then instantiating the dll, but that doesn't work .

Can someone please provide some basic direction on what I'm doing wrong?  I really need this to work soon.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I can't receive the events from my dll!

I assume your 3rd party dll is a .NET dll,

So in your 3rd party dll you must have bunch of classes. are events defined in those classes? in not there won't be any event on your side.

If events are defined properly defined in your 3rd party dll , all you need to define in your code is a an event handler . That's all!


1: get the 3rd party dll documentation

2: see what classes are defined and what events

3: create an event handler (with the correct signature)Make sure event handler is wired correctly to the event.
dhenderson12Author Commented:
sorry, I'm not explaining correctly.  here is a snippet that my dll is handling:

        public void Agent_AgentLoggedIn()
                MessageBox.Show("Agent Logged In");
            }, null);


this event uses a delegate to display a message box.  it works fine.  however I don't know what I should do in my application to receive this event rather than have the message box display.  I should also point out that this is comming from the copy of the dll I have placed in the 3rd party application folder.
AndyAinscowFreelance programmer / ConsultantCommented:
I might be misunderstanding but it sounds like you want inter-process communication.  Just having two apps share one dll is NOT that.  Each app will load the dll into it's own memory space and behave totally independently of one another.
Angular Fundamentals

Learn the fundamentals of Angular 2, a JavaScript framework for developing dynamic single page applications.

dhenderson12Author Commented:
that's what I'm running into.  so how would I go about doing that?
dhenderson12Author Commented:
and could ipc handle more than one object?  say, an object on a web page?
käµfm³d 👽Commented:
It can handle whatever you want as long as you serialize the object(s) properly. This topic is very broad, and it will probably go beyond the bounds of a single thread like this, so I would suggest reading up on .NET Remoting, named pipes, and shared memory.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.