Привет ! вобщем
имеем не замысловатый код на С++

Код:
static Flash::IShockwaveFlash*flash;
if(FAILED(CoCreateInstance(__uuidof(Flash::ShockwaveFlash), NULL, CLSCTX_ALL, __uuidof(Flash::IShockwaveFlash), (void**)&flash))){
return;
}
if(FAILED(AtlAxAttachControl(flash, toolbarHandle, NULL))){
flash->Release();
return;
}else{
flash->LoadMovie(0, "C:\test.swf");
}
flash->DisableLocalSecurity();
Теперь, если попробовать по таймеру или сразу, не суть, вызвать flash->CallFunction("<invoke name='test'><arguments></arguments></invoke>")
происходит RTE в С++, если код вешать в тру кэтч и смотреть описание ошибки, то MS как обычно на высоте - "произошла не известная ошибка"
Может чего забыл ? кто в теме посоветуйте, во флеше есть ExternalInterface.addCallback("test",testHandler);, но мне кажется ( могу ошибаться ) просто попытка вызова метода на стороне флеша не должна выбивать RTE у С++ стороны
PS info:
- сама флешка написана на AS3
- код подписи на коллбэк лежит в обработчике ADDED_ON_STAGE
- кроме этого в коде не чего нету ( ну только обработчик этого коллбэка )
- сам проект - Plugin к IE, то есть это ATL DLL
- сама флешка нормально крутиться
- если вызывать ИЗ флеша ExternalInterface.call, все работает ! ( конечно кода для этого на стороне С++ требуется куда больше, но суть в том, что работает ! )
- как я понял setVariable на AS3 проектах не работает ? ( прочитал древний пост от etc )
проблему, конечно, можно решить написав на стороне флеша ExternalInterface.call("getMessage",peekMessage);, повесить в таймер, например срабатывающий каждую секунду, а на стороне С++ при вызове getMessage отдавать список сообщений, которые должен обработать флеш
но это криво
PSS2 если не туда запостил, поправьте, по описанию я незнаю какой раздел подходит..., по логике наверно этот, так как сама флешка на as3