在dll中这样使用flash控件为什么会失败?
dll中的导出函数如下:
#include "stdafx.h"
#include "Interface.h"BOOL WINAPI CreateFlashPlayer(CShockwaveFlash *pPlayer, CWnd *pt)
{ //注掉下面两句可以直接使用参数中的pt,否则无法使用
//**************
CWnd *p=new CWnd;
p->Create(NULL,NULL,WS_CHILD|WS_VISIBLE,CRect(0,0,320, 240),AfxGetMainWnd(),110);
//**************
pPlayer->Create(NULL, WS_CHILD|WS_BORDER | WS_VISIBLE, CRect(0, 0, 320, 240), pt, NULL);
pPlayer->LoadMovie(0, "D:\\Code\\DLL\\flash\\able.swf");
pPlayer->Play();
return TRUE;}其中,参数中的pPlayer为外部exe调用dll时传进来的flash控件的指针,pt为flash控件的父窗口的指针。
//**************包括的语句存在时flash控件的创建就会失败,但这时用p代替pt就可以创建成功。如果//**************包括的语句不存在,则可以直接使用参数pt。
请问对dll了解多的朋友指点,这个是为什么?
dll中的导出函数如下:
#include "stdafx.h"
#include "Interface.h"BOOL WINAPI CreateFlashPlayer(CShockwaveFlash *pPlayer, CWnd *pt)
{ //注掉下面两句可以直接使用参数中的pt,否则无法使用
//**************
CWnd *p=new CWnd;
p->Create(NULL,NULL,WS_CHILD|WS_VISIBLE,CRect(0,0,320, 240),AfxGetMainWnd(),110);
//**************
pPlayer->Create(NULL, WS_CHILD|WS_BORDER | WS_VISIBLE, CRect(0, 0, 320, 240), pt, NULL);
pPlayer->LoadMovie(0, "D:\\Code\\DLL\\flash\\able.swf");
pPlayer->Play();
return TRUE;}其中,参数中的pPlayer为外部exe调用dll时传进来的flash控件的指针,pt为flash控件的父窗口的指针。
//**************包括的语句存在时flash控件的创建就会失败,但这时用p代替pt就可以创建成功。如果//**************包括的语句不存在,则可以直接使用参数pt。
请问对dll了解多的朋友指点,这个是为什么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货