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
    
  • 相关阅读:
    hdu2191(多重背包)
    hdu3664(递推dp)
    hdu2955(变形01背包)
    hdu1712(分组背包)
    hdu1114(完全背包)
    hdu4004(二分)
    hdu2870(dp求最大子矩阵)
    POJ 1979 Red and Black(水题,递归)
    POJ 1922 Ride to School(贪心+模拟)
    POJ 1182 食物链(种类并查集)
  • 原文地址:https://www.cnblogs.com/gamesacer/p/1322116.html
Copyright © 2011-2022 走看看