在VS2010中添加Flash控件

一、准备工作
第一步:下载并安装Adobe Flash Player。

从官方网站(/cn/flashplayer/)上下载最新的Flash Player(大约为2.66M),并安装。

对于Windows 32位系统,其默认安装目录为:C:\WINDOWS\system32\Macromed\Flash\;对于64位系统,为:C:\Windows\SysWOW64\Macromed\Flash。

Flash控件的大版本号用数字表示,如9,10,11等,小版本号用小写字母表示,如a, b, c, d, e。

如我安装的版本为:Flash10l.ocx。

第二步:通过regsvr32.exe注册flash控件Flash10l.ocx。

从开始菜单中打开运行对话框,并输入:regsvr32 C:\Windows\SysWOW64\Macromed\Flash\Flash10l.ocx 注册该控件(注册之后就可以在项目中进行控件添加了),如果注册成功,有如下提示:
注销控件的命令行为regsvr32 /u C:\Windows\SysWOW64\Macromed\Flash\Flash10l.ocx。

二、新建MFC项目,添加Flash控件
第一步:建立基于对话框的MFC程序。

打开Visual Studio 2010,新建项目,选择“MFC应用程序”,并将其命名为MFCFlash。

在接下来的选型设置中,选择应用程序类型为“基于对话框”,其他可按默认设置。

项目建成后,程序默认添加了MFCFlash和MFCFlashDlg的头文件和实现文件,截图如下:
第二步:添加Shockwave Flash Object类。

VC++ 6.0中,可以使用ClassWizard添加ActiveX控件,而VS2005以后的版本没有。

如果要添加ActiveX 对应的类,可以“项目”→“添加类”→“ActiveX控件中的MFC类”,打开“从ActiveX控件添加类向导”对话框。

选择从“文件”添加类,找到Flash控件的安装位置,即可添加Shockwave Flash控件,接口选择“IShockwaveFlash”,以生成CShockwaveFlash类(类的名称可以修改)。

插入后,VC会自动把这个类加入工程里面。

第三步:添加Shockwave Flash Object控件。

在资源视图里找到“Dialog”,并选择其中的IDD_MFCFLASH_DIALOG,在其上点右键,选择“插入ActiveX
控件”,从弹出的列表中选择“Shockwave Flash Object”。

使用BUTTON、EDIT等其它Windows控件一样,我们可以使用这个类的成员函数来操纵这个对象,来进行Flash动画的控制以及和自己的程序进行交互等操作了。

在Flash控件上点右键,然后选择“添加变量”,设定“变量名”为:m_FlashPlayer。

可再次在Flash控件上点右键,然后选择“属性”,将其ID改
为IDC_SHOCKWAVEFLASH。

第四步:使用成员函数LoadMovie和Play来导入并播放动画。

在MFCFlashDlg.cpp文件中,找到CMFCFlashDlg::OnInitDialog()函数,在“return TRUE”之前添加代码:CString str = _T("E:\\VS\\Flash\\media\\test.swf");
m_FlashPlayer.LoadMovie (0, str);
m_FlashPlayer. Play ();
其中m_FlashPlayer.LoadMovie(0, str)用来将动画导入程序中,str为要播放的flash路径,要用绝对路径(注意路径用双斜杠“\\”隔开); m_FlashPlayer. Play ()开始播放动画。

现在运行程序,就可以看到flash嵌入到程序里面了。

还有几个常用的函数可以用来控制动画的播放,如GotoFrame(long FrameNum)可以转到FrameNum侦播放(侦数从0开始),StopPlay()可以停止播放。

,
还有很多,可以自己试试。

下图是我做的一个飞行仪表,界面比较丑陋,凑合看吧^_^
三、实现MFC与Flash的通信
1、Flash通过FSCommand消息调用MFC
第一步:添加消息处理函数。

在Flash控件上点右键,然后选择“添加事件处理程序”,在类列表选择“CMFCFlashDlg”,消息类型选择“FSCommand”,则函数处理程序名称自动为“FSCommandShockwaveflash”。

它的形式大概是这样子的:void CMFCFlashDlg::OnFSCommandShockwaveflash(LPCTSTR command, LPCTSTR args) ;函数有两个参数,就是flash的Action Script中FSCommand语句中的两个参数。

其实并不一定两个参数都用到,flash脚本中可以就使用一个参数,这样这边的函数就只要对第一个参数进行处理就行了。

第二步:编写消息处理代码。

在刚添加的FSCommand消息处理函数中,对两个参数进行处理。

其实就是做字符串比较的操作,根据是什么字符串来判断用户进行了什么操作。

大概就是这样子的:
void CPlayFlashDlg::OnFSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args)
{
// TODO: Add your control notification handler code here
if( 0 == strcmp(command,”bt”) )
{
if( 0 == strcmp(args,”enter”) )
{
MessageBox(“欢迎进入系统!”);
}
}
else if( 0 == strcmp(comm and,”quit”) )
{
MessageBox(“您选择了退出!”);
CDialog::OnCancel();
}
}
这只是最简单的处理形式,当然你可以在flash中发送复杂的字符串,在这边就要进行更多的处理了。

2、MFC通过CallFunction函数调用Flash
第一步:Flash中ExternalInterface.addCallback用处理。

在FLASH中,要用ExternalInterface.addCallback把能被外部调用的函数注册一下,例如:ExternalInterface.addCallback("setAlt", setAlt);
function setAlt (para:String = "3150")
{
alt.text = para; //alt为swf文件中的一个动态文本
}
第二步:MFC中使用CallFunction函数传入参数。

想让MFC主动往flash传内容并且让flash响应,用控件的CallFunction方法。

在MFC中,调用CallFunction 方法,传入一个比较复杂的字符串,描述了要调用的函数的名称、参数等等,以XML的形式呈现。

详情参考FLASH 帮助的“外部API 的XML 格式”一文。

此处CallFunction传递的参数为XML格式,如下:
CString temp = _T("<invoke name=\"setAlt\" returntype=\"xml\">\
<arguments><string>3500FT</string></arguments>\
</invoke>");
m_FlashPlayer.CallFunction(temp);
注意,<arguments>必须是完整的一行,具体为什么我也不太清楚。

再次运行程序,可以发现ALT的值已经由3280FT变成了3500FT。

合集下载

vc加入flash

vc加入flash

关于VC中嵌入FLASH(2008-03-06 12:46:35)转载分类:visual c++标签:itVC中嵌入FLASH可以美观界面,下面记录方法:1.首先要添加控件project-->add to project-->components and controls找到文件夹Registered ActiveX Controls中的Shockwave Flash Object点insert这样控件就添加进来了同时系统会自动生成一个类与之对应2.建立一个FLASH控件的实例,命名为m_FlashPlayer(随意)3.使用成员函数LoadMovie和Play来导入并播放动画m_FlashPlayer.LoadMovie(0, strMovieUrl);该函数用来将动画导入程序中,strMovieUrl为要播放的flash路径,要用绝对路径。

m_FlashPlayer.Play();调用该函数开始播放动画。

在初始化对话框的函数里面加入这两个函数调用即可。

例如RECT rc;this->GetClientRect(&rc);m_FlashPlayer.MoveWindow( &rc, true );TCHAR strCurDrt[500];int nLen = ::GetCurrentDirectory(500,strCurDrt);if( strCurDrt[nLen]!='\\' ){strCurDrt[nLen++] = '\\';strCurDrt[nLen] = '\0';}CString strFileName = strCurDrt;strFileName += "startup.swf";m_FlashPlayer.LoadMovie(0, strFileName);m_FlashPlayer.Play();上面的代码可以放在某个按钮中也可以放在WM_INITDIALOG消息中至此,flash就嵌入到vc中了4.flash与vc间消息的交互flash与vc的交互是靠Fscommand来实现的举例来说,比如flash中某个按钮的动作是fscomman("username",username.text );当点击该按钮后,会触发vc中的函数:DLG类中flash控件IDC_SHOCKWAVEFLASH中的FsCommand消息,并将其中的2个参数分别传给LPCTSTR command, LPCTSTR args即点击按钮后,command=username,args=username.text,之后就可以对其进行处理了例如if( 0 == strcmp(command,"quit") ){MessageBox("您选择了退出!");CDialog::OnCancel();}if( 0 == strcmp(command,"username")){username=args;MessageBox(username);}if( 0 == strcmp(command,"password")){password=args;MessageBox(password);}VC中借助内嵌资源实现Flash动画播放2004-12-04 14:07作者:信息产业部电子第二十二研究所青出处:天极网责任编辑:方舟摘要:本文通过在VC中将外部swf格式文件内嵌为VC的内部资源,使其在程序运行过程中从资源动态释放到临时文件,从而实现VC对Flash动画的播放。

使用qt5VS2010设计插件的一般方法

使用qt5VS2010设计插件的一般方法

使用qt5VS2010设计插件的一般方法环境:QT5.1VS2010为了方便VS中调试,需要将主程序和plugin的程序放在同一个解决方案中,否则无法单步调试。

步骤:1、建立plugin工程,该工程为qtlibrary工程,工程中包括一个interface.h的头文件,该头文件定义一个接口类,可以定义所以的纯虚函数,可以没有构造函数,但是为了释放内存,建议有一个虚的析构函数。

然后根据要求定义各个成员函数【虚函数】2、定义完所有的函数后需要用Q_DECLARE_INTERFACE宏定义来定义接口,Q_DECLARE_INTERFACE(testinterface , "mxq.testlib.testinterface/1.0")第一个参数为类名,第二个参数为标示码,自己定义。

3、在创建工程的时候会自动生成一个.h文件为libplugin_global.h【如果libplugin为工程名称】,在libplugin.h文件中设计插件的类,该类继承QObject和interface类。

4、libplugin类定义的时候需要注意添加宏:Q_OBJECT,Q_PLUGIN_METADATA,Q_INTERFACES三个宏。

其用户可以参考手册。

5、实现类成员函数。

编译ok。

源码如下:libplugin_global.h 是自动生成的,不需要进行改动,不做说明testinterface.h源码========================》#ifndef TESTINTERFACE_H#define TESTINTERFACE_H#include <QtPlugin>#include <QObject>#include <QString>class testinterface:public QObject{Q_OBJECTpublic:virtual ~testinterface(){};virtual QString getName() = 0;signals:void reqTest(quint16 value);};Q_DECLARE_INTERFACE(testinterface , "mxq.testlib.testinterface/1.0")#endiflibplugin.h源码========================》#ifndef LIBPLUGIN_H#define LIBPLUGIN_H#include <QObject>#include <QTimer>#include "testinterface.h"#include "libplugin_global.h"class LIBPLUGIN_EXPORT libplugin: public QObject , public testinterface{Q_OBJECTQ_PLUGIN_METADATA(IID "org.qt-project.Qt.QDummyPlugin" FILE "mxqtest.json")Q_INTERFACES(testinterface)public:libplugin();~libplugin();virtual QString getName();//signals://void reqTimeOut();//void reqTest(quint16 value);public slots:void respTimeOut();private:QTimer *pTimer;quint16 timeCount;};#endif // LIBPLUGIN_Hlibplugin.c源码========================》#include "libplugin.h"#include <QtDebug>#include <QString>#include <QtPlugin>libplugin::libplugin(){pTimer = NULL;pTimer = new QTimer();QObject::connect(pTimer , &QTimer::timeout , this , &libplugin::respTimeOut);pTimer->start(5000);timeCount = 0;}libplugin::~libplugin(){if (pTimer){pTimer->deleteLater();pTimer = NULL;}}QString libplugin::getName(){qDebug()<< "get name function input :" ;qDebug()<<"plugin name is \"libplugin\"";return "libplugin";}void libplugin::respTimeOut(){timeCount++;emit this->reqTest(timeCount);}创建测试主工程,该工程需要包含接口头文件interface.h。

C#2010 操作控件

C#2010  操作控件

C#2010 操作控件
在Visual Studio中,开发者可以创建一个基于Windows窗体应用程序的项目,然后即可在设计器中通过工具箱为窗体添加、删除、移动和对齐各种控件对象。

1.添加控件
添加控件就是将各种窗体控件添加到对话框、MDI或SDI中的过程。

在添加控件时,可以自Visual Studio的【工具箱】面板中选择窗体控件,然后将其拖拽至指定的窗体设计器中,从而完成控件的添加,如图8-2所示。

图8-2 为窗体添加控件
2.删除控件
删除控件操作可以将窗体中已有的控件清除,同时移除与该控件相关的代码。

在删除控件时,可以在窗体设计的窗口中选择指定的控件,然后执行【编辑】|【删除】命令,或直接按Delete功能键,即可完成删除,如图8-3所示。

图8-3 删除窗体控件
3.移动和对齐控件
在编辑窗体时,开发者可以直接选中窗体控件,然后再使用鼠标对这些窗体控件进行拖拽操作。

当两个控件的横坐标或纵坐标保持一致时,Visual Studio会自动显示参考线以示这些控件可被自动对齐,如图8-4所示。

图8-4 移动控件并对齐
在移动窗体控件时,开发者还可以按住Ctrl功能键,同时选择多个窗体控件,对这些窗体控件一并进行移动和对齐操作。

4.自动对齐控件
在移动控件时,开发者除了可以拖拽窗体控件外,还可以使用Ctrl功能键连续选择多个窗体控件,然后执行【格式】|【对齐】命令,在弹出的子菜单中选择对齐方式,对窗体控件进行自动对齐操作,如图8-5所示。

图8-5 自动对齐控件。

VS中添加ActiveX控件

VS中添加ActiveX控件

MFC在VS2010的VC环境下用类向导添加完已经注册到系统中的ActiveX控件生成其包装类
在窗体设计器上右键插入对应ActiveX控件,右键添加变量,关联到VC生成的包装类
假如我取名为m_player
然后用m_player.xxx来访问它的接口函数。

xxx就是函数名
这个我试过可以,现在的问题是不想把控件停靠在对话框上,能否用类向导生成接口类后,直接调用接口函数?
你可以把对话框上的控件设置为隐藏,不显示。

这样运行时不会显示。

如果要让它在设计时都不显示的话,可以动态创建。

包装类里生成了Create函数,实例化包装类对象后,比如包装类名为Mp3Player
在代码里实例化Mp3Player m_player;
然后调用Create函数
m_player.Create(....)
第四个参数是个矩形,长宽设置为0.
这样的话动态创建的控件不会出现在对话框上。

不管怎样,必须要有一个包装类对象,才能用对象名.方法来访问它的接口函数
采用第二种很好的解决了我的问题,谢谢,以上两种方法都可行,根据需求选择吧。

WPF中播放Flash动画

WPF中播放Flash动画

WPF中播放Flash动画1、首先在VS2010中建立项目。

打开VS2010后选择“文件”-“新建”-“项目”,选择“WPF应用程序”,如下图所示,项目名称为WpfFlashPlayer。

2、选中项目解决方案名称,点右键,选择“添加”—“新建项目”,出现下图窗口。

选择“Windows窗体控件库”,名称定为WindowsFormsFlashControlLibrary,点“确定”键。

3、在工具箱中选择Shockwave Flash Object,如果工具箱中没有出现,只要在工具箱中点右键选择“选择项”,就会出现图1-99,选择其中的“Shockwave Flash Object”后点“确定”键。

这时工具箱中会增加Shockwave Flash Object控件,将其拖入设计窗口。

图1-994、开始执行程序,在项目“WindowsFormsFlashControlLibrary”的“Bin\Debug”文件夹中自动生成:AxInterop.ShockwaveFlashObjects.dll和Interop.ShockwaveFlashObjects.dll这2个文件是Windows系统下Flash Player播放器控件在WPF中应用的接口,有了这两个文件,他人就无需做上面的重复设计了,可以在下面使用。

5、然后在Expression Blend 4中建立1个WPF项目,如WpfFlashPlayer。

首先在项目的“引用”中添加下面2个文件的引用(可到上面说的文件夹中找此文件):AxInterop.ShockwaveFlashObjects.dllInterop.ShockwaveFlashObjects.dll并且在.xaml.cs文件前添加命名空间:using AxShockwaveFlashObjects;using ShockwaveFlashObjects;这时,项目中可以使用Flash Player的类AxShockwaveFlash创建播放器对象,此对象在WPF窗口的显示同样需要借助于接口控件WindowsFormsHost,这样需要在项目的“引用”中添加如下文件:System.Windows.Forms.dll(C:\WINDOWS\\Framework\v4.0.30319)WindowsFormsIntegration.dll(C:\WINDOWS\\Framework\v4.0.30319\WPF)前1个引用的添加将保证AxShockwaveFlash的正常应用。

VisualC++2010MFCActiveX控件小结

VisualC++2010MFCActiveX控件小结

VisualC++2010MFCActiveX控件小结前言:参照《VC++深入详解》--孙鑫第18章ActiveX控件,书中编译环境为VC6.0一、ActiveX控件ActiveX控件是基于组件对象模型COM--Components Object Modem的可重用软件组件,旨在用于普通的ActiveX控件容器和Internet上的网页,这里介绍用MFC创建ActiveX控件。

一个典型的ActiveX控件,具有方法、属性、事件这三种特性。

二、ActiveX控件的测试与注册1、使用ActiveX控件测试容器对控件进行测试对于VC6.0,安装Common\Tools目录下的TSTCON32.EXE即可使用。

而vs2010中的TSTCON( ActiveX Control Test Container )工具非自动安装,而是作为一个例程提供。

所以应找到该例程,并编译:如vs2010安装在默认路径则1, 进入:C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033,可找到VC2010Samples.zip文件,2, 将其解决到同一个文件夹,解压后将出现一个C++子文件夹。

3, TstCon例程在:C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033\C++\MFC\ole\TstCon,双击其中的.sln文件启动工程,直接编译,4, 编译后在Debug子文件夹中将出现一个TstCon.exe文件,将其复制到:C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools文件夹。

5, 在vs2010中的Tools菜单点击“External T ools...”,出现如下对话框,点击“Add”添加一项工具。

6, 新工具项的"Title"为:ActiveX Control Test Container,"Command" 为:C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools \TstCon.exe。

VS2010C#创建ActiveX控件

VS2010C#创建ActiveX控件VS2010 C#创建ActiveX控件1、File-->New-->Project,弹出 New Project窗口;2、在左边的 Installed Templates -->Visual C#-->Windows中,选择Class Library,输入名字(name):HelloWorld,选择项目保存路径(Location):F:\donetProject, Solution: Create new solution ,如下图:图 13、删除自动创建的Class1.cs文件,然后在HelloWorld上右键->添加->新建项,在弹出的窗口中选择“用户控件”,名称为Demo,此时会出现一个类似于winform设计界面,我们在上面从工具箱中拖动一个Label在上面,并设定Label的Text为"HelloWorld"。

Add New Item:(Visual C# Items – User Control),在name 中输入Demo4、画ActiveX界面:5、在菜单中:Project HelloWorld Properties,Application页面,点击Assembly Information6、在HelloWorld(用户控件)项目上点击右键,选择属性,将打开项目属性面板,选择应用程序标签页,点击“程序集信息”按钮,在弹出的窗口中勾选“使程序集COM可见” (Make assembly COM-Visible) ;7、切换到生成(Build)标签页,然后勾选“为Com互操作注册”(Register for COM interop),在该页面的最上面,有一个配置选项,切换到realse,并再次勾选“为Com互操作注册” (Register for COM interop)。

这样无论是在debug还是在release状态下,都可以把用户控件当做com接口使用。

vs2010安装教程

vs2010安装教程Visual Studio 2010 安装教程1. 首先,确保你的计算机满足Visual Studio 2010 的系统要求。

你可以在微软官方网站上找到相关信息。

2. 在微软官方网站上下载 Visual Studio 2010 的安装文件。

你可以选择在线安装程序或离线安装程序,根据你的网络状况和个人喜好进行选择。

3. 双击下载好的安装文件,开始安装程序。

如果你选择的是离线安装程序,它会解压安装文件到你指定的位置。

4. 安装程序会进行一些初始化工作,稍等片刻。

5. 接下来,你将看到Visual Studio 2010 安装向导的欢迎界面。

点击 "下一步" 继续。

6. 阅读并接受许可协议。

如果你同意,请勾选 "我接受许可协议",然后点击 "下一步"。

7. 下一个界面是选择安装类型。

你可以选择完整安装或自定义安装。

完整安装将安装所有可用的组件,而自定义安装允许你选择你想要的组件。

选择适合你需求的安装类型后,点击 "下一步"。

8. 指定安装位置,或者使用默认位置。

点击 "下一步" 继续。

9. 在接下来的界面中,你可以选择将 Visual Studio 2010 的快捷方式添加到开始菜单、桌面或快速启动栏。

选择你想要的选项后,点击 "下一步"。

10. 如果你希望参加用户体验计划,选择 "是,我希望参加用户体验计划",然后点击 "下一步"。

11. 点击 "安装" 开始安装 Visual Studio 2010。

安装过程可能需要一些时间,取决于你的计算机性能。

12. 安装完成后,你将看到一个安装成功的界面。

点击 "完成" 关闭安装程序。

现在,你已经成功安装了 Visual Studio 2010。

Word2010中插入flash动画的方法

Word2010中插入flash动画的方法Liuxinbo2012-7-25有时需要在word文档中插入flash动画,增强描述的动感,可以使人印象更鲜明、更深刻。

网上查到的flash插入方法一般都是word2000下的,但是word2010界面已经有了很大的变化,操作方法也有了很大的不同,经过一番摸索,了解到了这个过程,希望对有用得着的同事有所帮助,下面就描述如何在word2010文档中中插入flash。

1.首先准备flash文件(例如:flash.swf).2.要安装好flash播放器(支持ie下播放,现在一般是Adobe flash player).检查一下flash.swf能否在ie下正确播放。

3.创建一个word文档,在“插入->对象”中选择“由文件创建“,同时选择“显示为图标”,点击”浏览”选择flash.swf文件。

这个时候文档会出现一个方框。

如下图b图a图b4、在框框中点击鼠标右键:如下图,选择属性:图c5、修改属性值“EmbedMovie”为TRUE,“Playing”为True.“Movie”中填入包括绝对路径的flash文件名:例如”C:\Users\gosun\Desktop\flash1.swf”(图d)图d6、在菜单项中点击“开发工具”,如果菜单上没有“开发工具”则按下面方面打开“开发工具”面板:图f图g7、在“开发工具”中点击“宏”按钮:输入一个宏名,例如lxb,宏的位置选择你刚才创建的word文档,点击创建(图H)。

然后关闭弹出的窗口,再回到“开发工具”点击“宏”按钮,点击“运行”就可以了(图j),再点击运行就可以了。

图h图J图k。

C++ Builder 2010 安装ShockWave(即flash) 控件

C++ Builder 2010 安装ShockWave(即flash)控件罗树鹏2009-10-12安装了c++builder 2010(以下叫CB2010),发现在CB2010安装组件和BCB6完全不同。

今天就将我如何在CB2010下安装Shockwave组件的方法写出来,希望对大家有个帮助。

对于这类组件的安装比较麻烦(相比其它两类组件来说)。

首先创建一个BPK,步骤是选择菜单中的“Component”,然后选择”I mport Component”在弹出的Import Component界面中选择“Import ActiveX Control”点击“Next”,进入下一步。

选择需要导入的ActiveX组件,点击“Next”,进入下一步。

选择这个组件要放入的Palette Page,然后点击“Next”,进入下一步。

在这里我选择的是创建新的Package,也可以选择其它选项。

点击“Next”,进入下一步。

选择创建的包的路径和名称,填写描述,点击“Finish”,后,IDE会自动编译下这个包。

但是会出现类似于下面的错误。

BuildChecking project dependencies...Compiling ShockWave.cbproj (Debug configuration)[ILINK32 Error] Error: Unresolved external '__stdcallShockwaveflashobjects_tlb::IDispatchEx::GetDispID(wchar_t *, unsigned long, long *)' referenced from F:\个人重要资料(勿删)\ADMINISTRATOR\桌面\DEBUG\SHOCKWA VEFLASHOBJECTS_OCX.OBJ[ILINK32 Error] Error: Unresolved external '__stdcallShockwaveflashobjects_tlb::IDispatchEx::RemoteInvokeEx(long, unsigned long, unsigned long, tagDISPPARAMS *, tagV ARIANT *, tagEXCEPINFO *,Shockwaveflashobjects_tlb::IServiceProvider *, unsigned int, unsigned int *, tagV ARIANT *)' referenced from F:\个人重要资料(勿删)\ADMINISTRATOR\桌面\DEBUG\SHOCKWA VEFLASHOBJECTS_OCX.OBJ[ILINK32 Error] Error: Unresolved external '__stdcallShockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByName(wchar_t *, unsigned long)' referenced from F:\个人重要资料(勿删)\ADMINISTRATOR\桌面\DEBUG\SHOCKWA VEFLASHOBJECTS_OCX.OBJ[ILINK32 Error] Error: Unresolved external '__stdcallShockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByDispID(long)' referenced from F:\个人重要资料(勿删)\ADMINISTRATOR\桌面\DEBUG\SHOCKWA VEFLASHOBJECTS_OCX.OBJ[ILINK32 Error] Error: Unresolved external '__stdcallShockwaveflashobjects_tlb::IDispatchEx::GetMemberProperties(long, unsigned long, unsigned long *)' referenced from F:\个人重要资料(勿删)\ADMINISTRATOR\桌面\DEBUG\SHOCKWA VEFLASHOBJECTS_OCX.OBJ[ILINK32 Error] Error: Unresolved external '__stdcallShockwaveflashobjects_tlb::IDispatchEx::GetMemberName(long, wchar_t * *)' referenced from F:\个人重要资料(勿删)\ADMINISTRATOR\桌面\DEBUG\SHOCKWA VEFLASHOBJECTS_OCX.OBJ[ILINK32 Error] Error: Unresolved external '__stdcallShockwaveflashobjects_tlb::IDispatchEx::GetNextDispID(unsigned long, long, long *)' referenced from F:\个人重要资料(勿删)\ADMINISTRATOR\桌面\DEBUG\SHOCKWA VEFLASHOBJECTS_OCX.OBJ[ILINK32 Error] Error: Unresolved external '__stdcallShockwaveflashobjects_tlb::IDispatchEx::GetNameSpaceParent(IUnknown * *)' referenced from F:\个人重要资料(勿删)\ADMINISTRATOR\桌面\DEBUG\SHOCKWA VEFLASHOBJECTS_OCX.OBJ[ILINK32 Error] Error: Unable to perform linkFailedElapsed time: 00:00:03.7这个问题的解决方法是把这几个出错的函数(应该是8个)声明成内联函数,即加inline关键字或者把实现部分回到头文件中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档