在view里面 我定义了一个结构体
typedef struct
{
HWND hwnd;
int i;
}tt;
1)在view的开头用 tt hi;定义这个结构体变量后传递给ondraw里面生成的线程(效果是弹出窗口) 一切正常,客户区刷新的时候就弹出窗口2)在view的开头用 tt* hi;定义并赋值 编译通过 但程序一运行就当掉3)在ondraw里面用 tt* hi=new tt; 定义赋值 能运行程序 但只弹出一次窗口 以后刷新界面时就不弹了4)在view的开头用tt* hi=new tt;定义 程序运行正常 但不弹出窗口 AfxBeginThread(threadproc,(LPVOID)hs); //ondraw里面的 UINT threadproc(LPVOID pParm)
{
tt *phs=(tt*)pParm;
CString str;
str.Format(_T("%d"),phs->i);
MessageBox(phs->hwnd,str,0,0);
return 0;
} //弹出窗口
我被这些问题搞的头大到底用new在上面的代码中产生了什么效果? 为什么会这样?
哪位愿意给我解释一下?
typedef struct
{
HWND hwnd;
int i;
}tt;
1)在view的开头用 tt hi;定义这个结构体变量后传递给ondraw里面生成的线程(效果是弹出窗口) 一切正常,客户区刷新的时候就弹出窗口2)在view的开头用 tt* hi;定义并赋值 编译通过 但程序一运行就当掉3)在ondraw里面用 tt* hi=new tt; 定义赋值 能运行程序 但只弹出一次窗口 以后刷新界面时就不弹了4)在view的开头用tt* hi=new tt;定义 程序运行正常 但不弹出窗口 AfxBeginThread(threadproc,(LPVOID)hs); //ondraw里面的 UINT threadproc(LPVOID pParm)
{
tt *phs=(tt*)pParm;
CString str;
str.Format(_T("%d"),phs->i);
MessageBox(phs->hwnd,str,0,0);
return 0;
} //弹出窗口
我被这些问题搞的头大到底用new在上面的代码中产生了什么效果? 为什么会这样?
哪位愿意给我解释一下?
4)在view的开头用tt* hi=new tt;定义 程序运行正常 但不弹出窗口
————————————————————————————--————
这个有什么区别,就差赋值?那是不是你赋值不对!
用new 和 不用new定义 一样吗?