I've seen others reporting this problem, but seen no resolution so far. It may be that this problem occurs only on some machines? For example, the sample .NET program here http://www.codeproject.com/cs/media/flashexternalapi.asp?df=100&forumi d=226349&exp=0&select=1518421 doesn't work on my machine, although it should have worked on the author's machine.
Just figured this one out. I'm using VC++ 6 with ActiveX Flash 10. The code snippets here will call the Flash function testFunction from VC++ using the CallFunction command and the appropriate XML. In VC++, make the following call assuming that m_flashGUI is the CShockwaveFlash object added to your dialog.
CString ret = m_flashGUI.CallFunction("<invoke name=\"testFunction\" returntype=\"xml\">"
The key item in the xml string is the "name" parameter. It must match the name in the addCallback function in the Flash movie.
In the flash movie, have something like the following. The addCallback call is important. Without it the CallFunction from C++ will throw an exception.
// Import the flash items
// Associate the flash function with the external call
// Do something here...