我要发帖 回复

正式会员

4

主题

24

积分

0

专家分

:

私信
发表时间 : 2009-10-26 15:53:33 | 浏览 : 1325    评论 : 7
尝试利用MFC与vp相结合。
在CMyView(视图类)中定义了一个成员变量:myApp  *app;(myApp派生自vpApp)
通过一个Button命令启动vp线程:vpThread = AfxBeginThread(RunvpApp,this);
线程函数:
UINT RunvpApp(LPVOID pParam)
{
        CMyView *pView = (CMyView *)pParam;
        vp::initialize(__argc, __argv);//调试执行到这一步显示:Ox005d553e(vsgu2_2D.dll)处未处理的异   
                                                               常;0xC000005读取位置0x00000000时发生访问冲突
        pView->app = new myApp;

        pView->app->define("sample.acf");

        pView->app->configure();

        pView->vpWin = *vpWindow::begin();
        pView->vpWin->setParent(pView->GetSafeHwnd());
       while (TRUE)
        {
                int frameNum = vpKernel::instance()->beginFrame();
                assert(frameNum != 0);

                int result = vpKernel::instance()->endFrame();
                assert(result == vsgu::SUCCESS);

        }  
        int result = vpKernel::instance()->unconfigure();
        assert(result == vsgu::SUCCESS);
               
        vp::shutdown();
       return 0;
}
不知道有没有人知道错误的原因,盼解答,谢谢。

最近VR访客

ppp 评论于2009-10-26 17:56:05
仔细看下你的this是指向得CMyView类吗?
hiever 评论于2009-10-26 21:00:09
pView是指向CMyView的指针。
vpThread = AfxBeginThread(RunvpApp,this)是在CMyView中执行的,this指针当然指向的是CMyView
hiever 评论于2009-10-27 09:46:03

RE: 基于线程的vp问题

我有尝试用vpKernel,结果都是在同样的位置出错。如图
1.JPG
hiever 评论于2009-10-27 09:47:49
希望大家帮忙看看
sichuanwww 评论于2009-10-29 21:05:41
自己整一个单独的线程,多好!
gubingjie 评论于2011-9-5 22:34:27
正在学习中。
jiaywen 评论于2011-9-6 15:10:58
还不懂,楼主发个完整版我们调试一下。

手机版|VR开发网 ( 津ICP备18009691号 ) 统计 网安备12019202000257

GMT+8, 2020-10-1 04:46 AM

返回顶部