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
    
  • 相关阅读:
    bzoj3028食物 关于(1+x+x^2+x^3+x^4+...)^k的第i项系数就是c(i+k−1,k−1)的证明
    一个好玩的题--倒水
    HDU4372(第一类斯特林数)
    MySQL常用基本语句
    腾讯windows客户端一面
    腾讯PC客户端开发方向一面
    LeetCode数据库175
    Intern Day47
    Intern Day46
    Intern Day46
  • 原文地址:https://www.cnblogs.com/gamesacer/p/1322116.html
Copyright © 2011-2022 走看看