MFC静态DLL怎么调用FLASH那个控制啊.

winwinter 2006-08-29 03:59:57
如题:
只要我在对话里框面放进Shockwave flash object这个控件,对话框就弹不出来.

...全文
314 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
rageliu 2006-08-30
  • 打赏
  • 举报
回复
原来还没有初始化com库

AfxOleInit();可以用CoInitialize(NULL);替代
winwinter 2006-08-29
  • 打赏
  • 举报
回复
上网搜索了一个0x800401f0
找到如下:
====================================================================
这是一个系统错误,用Error Lookup察看显示: 尚未调用 CoInitialize。
解决的办法是在初始化时调用CoInitialize。
=====================================================================
变成:

BOOL Cef3App::InitInstance()
{
AfxEnableControlContainer();
AfxOleInit();
CoInitialize( NULL );
CWinApp::InitInstance();
return TRUE;
}

之后,终于可以了..........
在这里感谢
rageliu,KeSummer这两个帮助.

然后看看大家有没有补充,明天结贴.
嘻嘻.
winwinter 2006-08-29
  • 打赏
  • 举报
回复
to KeSummer([IN]LPVOID YourLove [OUT]LPVOID MyLove) :
怎么注册这个控件啊?
KeSummer 2006-08-29
  • 打赏
  • 举报
回复
另外就是你的FLASH控件注册没有,没有的话,请先注册一下.
KeSummer 2006-08-29
  • 打赏
  • 举报
回复
InitInstance()
在这里面加上AfxOleInit()试试.
winwinter 2006-08-29
  • 打赏
  • 举报
回复
是一个MFC静态链接的DLL.
里面有窗口.

代码如下
CMainDlg 就是有flash那个控件
==================================

#include "stdafx.h"
#include "ef3.h"
#include "MainDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// Cef3App

BEGIN_MESSAGE_MAP(Cef3App, CWinApp)
END_MESSAGE_MAP()


// Cef3App 构造

Cef3App::Cef3App()
{
}

Cef3App::~Cef3App()
{
}

// 唯一的一个 Cef3App 对象

Cef3App theApp;


// Cef3App 初始化
BOOL Cef3App::InitInstance()
{
AfxEnableControlContainer();
CWinApp::InitInstance();
return TRUE;
}

void LoadDialog( )
{
CMainDlg dlg;
dlg.DoModal();
}

================================
我在另外一个EXE里面调用
typedef void (*MyProc)( );
HMODULE hMoudle = LoadLibrary( "Ef3.dll" );
if ( hMoudle != NULL ){
MyProc ab = (MyProc)GetProcAddress( hMoudle , "LoadDialog");
if ( ab != NULL ){
ab( );
}
FreeLibrary( hMoudle );
}

============================================
rageliu 2006-08-29
  • 打赏
  • 举报
回复
到底是窗体里还是dll里?
winwinter 2006-08-29
  • 打赏
  • 举报
回复
BOOL Cef3App::InitInstance()
{
CWinApp::InitInstance();
AfxEnableControlContainer();
return TRUE;
}
我在这里添加的,对吗?
winwinter 2006-08-29
  • 打赏
  • 举报
回复
添加了之后有当运行时有异常

Warning: CreateDlgControls failed during dialog init.
CoCreateInstance of OLE control {D27CDB6E-AE6D-11CF-96B8-444553540000} failed.
>>> Result code: 0x800401f0
>>> Is the control is properly registered?
Warning: CreateDlgControls failed during dialog init.

这是什么原因啊?

IT有个圈儿 2006-08-29
  • 打赏
  • 举报
回复
这么多分居然没有人来顶,我不知道!

先看楼下的!
rageliu 2006-08-29
  • 打赏
  • 举报
回复
APP的初始化靠前添加AfxEnableControlContainer();

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧