zoukankan      html  css  js  c++  java
  • (zt)Flash与C++交互

    原:http://space.flash8.net/space/?592228/viewspace-421363.html

    #### c++ to flash calls:

    TRY
    {
    CString ret = m_FlashPlayer.CallFunction("<invoke name=\"FlashFunction\" returntype=\"xml\"><arguments><string> empty ?</string></arguments></invoke>");
    //AfxMessageBox(ret);
    }
    CATCH(COleDispatchException, ex)
    {
    TCHAR   szCause[255];
    CString strFormatted;
    ex->GetErrorMessage(szCause, 255);
    strFormatted = "The program exited because of this error: ";
    strFormatted += szCause;
    AfxMessageBox(strFormatted);
    }
    END_CATCH
    


    in Actionscrīpt now :

    import flash.external.*;
    ExternalInterface.addCallback("FlashFunction", this, InternalFlashFunction);
    function InternalFlashFunction(str: String): String
    {
    play();
    return "You can return a string...";
    }
    


    #### flash to c++ calls:

    BEGIN_EVENTSINK_MAP(CFlashPlayerDlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CFlashPlayerDlg)
    ON_EVENT(CFlashPlayerDlg, IDC_SHOCKWAVEFLASH1, 150 /* FSCommand */, OnFSCommand, VTS_BSTR VTS_BSTR)
    ON_EVENT(CFlashPlayerDlg, IDC_SHOCKWAVEFLASH1, 197 /* FlashCall */, OnFlashCall, VTS_BSTR)
    //}}AFX_EVENTSINK_MAP
    END_EVENTSINK_MAP()
    void CFlashPlayerDlg::OnFSCommand(LPCTSTR command, LPCTSTR args)
    {
    AfxMessageBox(command);
    }
    void CFlashPlayerDlg::OnFlashCall(LPCTSTR request)
    {
    AfxMessageBox(request);
    }
    


    in Actionscrīpt :

    fscommand("ChangeText", textInput_txt.text); // for fscommand
    // or
    flash.external.ExternalInterface.call("GetContacts"); // flash call
    
  • 相关阅读:
    小数据池与编码新知
    你确定自己用过字典?
    Django基础三之视图函数
    Django基础二之URL路由系统
    Django基础一之web框架的本质
    CSS
    前端HTML
    MySQL创建用户和授权
    MySQL之索引原理
    Mysql之视图,触发器,事物,存储过程,函数
  • 原文地址:https://www.cnblogs.com/gamesacer/p/1322116.html
Copyright © 2011-2022 走看看