首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AxShockwaveFlash的LoadMovie抛出System.AccessViolationException异常

AxShockwaveFlash的LoadMovie抛出System.AccessViolationException异常
EN

Stack Overflow用户
提问于 2014-07-04 09:38:50
回答 1查看 1.1K关注 0票数 1

在试图在C#和flash对象(swf)之间进行通信时,我面临以下异常。我试图对Flash64_13___214.ocx进行剪切以生成2个程序集( AxShockwaveFlash.dll和ShockwaveFlashObject.dll ),然后在一个控制台应用程序中测试我的代码。我的代码一般如下:

代码语言:javascript
复制
AxShockwaveFlash player = new AxShockwaveFlash();
player.CreateControl();
player.WMode = "transparent";
player.AllowScriptAccess = "sameDomain";
player.Loop = false;
player.LoadMovie(0, @"encrypt.swf");

在点击LoadMovie之后,我得到了以下错误:

未处理System.AccessViolationException =-2147467261 Message=Attempted以读取或写入受保护的内存。这通常表明其他内存已损坏。 在ShockwaveFlashObjects.IShockwaveFlash.LoadMovie(Int32层,String url在AxShockwaveFlashObjects.AxShockwaveFlash.LoadMovie(Int32层,String url)在c:\Windows\System32\AxShockwaveFlashObjects.cs:line 685 at TestActionScript2.Program.Main(String[] args)在c:\Something\trunk\Src\TestActionScript2\Program.cs:line 41的System.AppDomain._nExecuteAssembly(RuntimeAssembly组装中,Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback回调,Object state,Boolean ) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,Object state,Boolean )在System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,Object state)在System.Threading.ThreadHelper.ThreadStart()

请帮我~~

EN

回答 1

Stack Overflow用户

发布于 2015-02-25 10:24:17

嗨,我遇到了同样的问题,我发现只有在加载表单之前调用LoadMovie时,才会发生此错误。修复方法是在表单加载时添加事件,并将代码放在那里创建shockwaveflash。

就你而言:

代码语言:javascript
复制
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.Load += new System.EventHandler(this.Form_Load);
    }

    private void Form_Load(object sender, EventArgs e)
    {
        AxShockwaveFlash player = new AxShockwaveFlash();
        player.CreateControl();
        player.WMode = "transparent";
        player.AllowScriptAccess = "sameDomain";
        player.Loop = false;
        player.LoadMovie(0, @"encrypt.swf");
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24571219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档