在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了解多的朋友指点,这个是为什么?