creating event handler in unmanaged c++ code for event in managed code

M

Mayur

Hello all,
Im trying to call my .net c# library functions from my unmanaged
vc++(dialog based MFC)
application .
From that application i want add the event handler for the event generated
in c# dll which generates the event calles as Message Income
my c# dll code is like this

namespace ircConnect

{

public class IrcConnection

{

public delegate void MessageEventHandler(object sender,MessageEventArgs e);

public event MessageEventHandler MessageIncome;

}

Here is my vc++ code.


#using <mscorlib.dll>

#using "ircConnect.dll" //This is the c# dll reference


__gc class GlobalObjects

{

#pragma push_macro("new")

#undef new

public: static ircConnect::IrcConnection *iIRC =new
ircConnect::IrcConnection();


void OnMessageIncome( Object* sender,
ircConnect::IrcConnection::MessageEventArgs* e )

{

MessageBox(NULL,e->Message->Sender->ToString(),"",1);


}

public:
__event ircConnect::IrcConnection::MessageEventHandler*
MessageIncome;

#pragma pop_macro("new")
};

void CMyMFCDlg::OnBnClickedOk() //On Button click
{
#pragma push_macro("new")
#undef new
GlobalObjects* m_proxyChat;
m_proxyChat = new GlobalObjects();
GlobalObjects *MyX = new GlobalObjects();
m_proxyChat->MessageIncome += new
ircConnect::IrcConnection::MessageEventHandler(MyX,GlobalObjects::OnMessageIncome);
//This is the event handler im trying to add

m_proxyChat->iIRC->Connect("testing");
m_proxyChat->iIRC->joinchannel("abhishek","abhishek","#guildae");
#pragma pop_macro("new")
}



But actually this event is not generated properly and function
OnMessageIncome will not be getting called;

So can u give me exact snippet for How to create event handler in unmanaged
vc++ code for event generated in Managed(c#) dll
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top