pThread = AfxBeginThread(AutoAssembly,NULL);//¿ª±ÙÒ»¸öÏ߳̽øÐÐ×Ô¶¯×°ÅäUINT AutoAssembly(LPVOID pParam)
{
CString fn;
CString aLine;
CString Comstr;
fn = "Alog\\Alog.txt";
CStdioFile myFile;
if(!myFile.Open(fn,CFile::shareDenyWrite))
return 0;
CMainFrame* pMain = (CMainFrame *)AfxGetApp()->m_pMainWnd;
CDrasStereoView *view=(CDrasStereoView*)pMain->GetActiveView();
while(myFile.ReadString(aLine))
{
//¼ì²âÊÇ·ñ½øÐÐ×Ô¶¯×°Åä
if(!(view->ControlData.IsAutoAssembling))
return 0;
if(!(aLine.IsEmpty()))
{
// view->MPEGRenderer->recordFrame(2);//¼ÖÆ
int i = aLine.FindOneOf(_T(" "));
Comstr = aLine.Left(i);
aLine = aLine.Mid(i);
aLine.TrimLeft(_T(" "));
strcpy(view->MessageData.sValue , aLine);
//×°ÔØ
if(Comstr.Compare("LoadP")==0)
{
view->OnRMFileOpen(aLine);
// app->m_ptcollision->activate(FALSE);
fSumR = 0.0;
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 1;
}
//³õʼ»¯Î»ÖÃ
else if(Comstr.Compare("InitP")==0)
{
view->Initp(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 2;
}
//³õʼ»¯½Ç¶È
else if(Comstr.Compare("InitR")==0)
{
view->InitR(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 3;
}
//Ðгµ´ó³µÔËÐÐ
else if(Comstr.Compare("HcScale")==0)
{
view->HcRun(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 4;
}
//ÐгµÐ¡³µÔËÐÐ
else if(Comstr.Compare("XcScale")==0)
{
view->XcRun(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 5;
}
//ÐгµÐ¡³µ´¹Ö±ÔËÐÐ
else if(Comstr.Compare("DgmScale")==0)
{
view->DgmRun(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 6;
}
//À­ÉþÐýת
else if(Comstr.Compare("DgcScale")==0)
{
view->DgcRun(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 7;
}
//ÊÇ·ñ°î¶¨²¿¼þ
else if(Comstr.Compare("BindP")==0)
{
view->IsBindP(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 8;
}
else
{
view->MessageData.AutoID = 0;
}
view->MessageData.ChangeID = 12;
view->SendSharedData();
view->MessageData.IsAutoAssembling = false; //
::Sleep(20); }
}
myFile.Close(); return 0L;
}
{
CString fn;
CString aLine;
CString Comstr;
fn = "Alog\\Alog.txt";
CStdioFile myFile;
if(!myFile.Open(fn,CFile::shareDenyWrite))
return 0;
CMainFrame* pMain = (CMainFrame *)AfxGetApp()->m_pMainWnd;
CDrasStereoView *view=(CDrasStereoView*)pMain->GetActiveView();
while(myFile.ReadString(aLine))
{
//¼ì²âÊÇ·ñ½øÐÐ×Ô¶¯×°Åä
if(!(view->ControlData.IsAutoAssembling))
return 0;
if(!(aLine.IsEmpty()))
{
// view->MPEGRenderer->recordFrame(2);//¼ÖÆ
int i = aLine.FindOneOf(_T(" "));
Comstr = aLine.Left(i);
aLine = aLine.Mid(i);
aLine.TrimLeft(_T(" "));
strcpy(view->MessageData.sValue , aLine);
//×°ÔØ
if(Comstr.Compare("LoadP")==0)
{
view->OnRMFileOpen(aLine);
// app->m_ptcollision->activate(FALSE);
fSumR = 0.0;
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 1;
}
//³õʼ»¯Î»ÖÃ
else if(Comstr.Compare("InitP")==0)
{
view->Initp(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 2;
}
//³õʼ»¯½Ç¶È
else if(Comstr.Compare("InitR")==0)
{
view->InitR(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 3;
}
//Ðгµ´ó³µÔËÐÐ
else if(Comstr.Compare("HcScale")==0)
{
view->HcRun(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 4;
}
//ÐгµÐ¡³µÔËÐÐ
else if(Comstr.Compare("XcScale")==0)
{
view->XcRun(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 5;
}
//ÐгµÐ¡³µ´¹Ö±ÔËÐÐ
else if(Comstr.Compare("DgmScale")==0)
{
view->DgmRun(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 6;
}
//À­ÉþÐýת
else if(Comstr.Compare("DgcScale")==0)
{
view->DgcRun(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 7;
}
//ÊÇ·ñ°î¶¨²¿¼þ
else if(Comstr.Compare("BindP")==0)
{
view->IsBindP(aLine);
//·¢Ë͹²ÏíÊý¾Ý
view->MessageData.AutoID = 8;
}
else
{
view->MessageData.AutoID = 0;
}
view->MessageData.ChangeID = 12;
view->SendSharedData();
view->MessageData.IsAutoAssembling = false; //
::Sleep(20); }
}
myFile.Close(); return 0L;
}
解决方案 »
- 第一次recv 成功了,第二次循环就不行了呢。SOCKET 10038 错误。。。急啊。在线等。。。。
- 为何我是使用标签控件时,他的位置跑掉了`
- 请问谁知道MSN图释的界面是用的什么控件,我感觉不像是ListConctrl啊
- 请教Debug和Release调试问题?
- 向用VC写一个程序:能把几个指定的网站更新内容显示出来。 原理是什么?
- 有关Michael Dunn的Shell Extension教程源程序的编译问题
- QQ群:5918753,只交流VC
- 关于 SocksXP 的实现原理猜想,值得一看和讨论哦!!!:)
- 在一个CListCtrl继承类中用GetParent()->SendMessage(usermessage, 0, 0);发一个消息问题
- 小问题,大麻烦!关于不同类引用成员变量的问题?请帮帮老弟,谢谢!
- 急问:BHO组件中如何获取当前IE窗口的句柄
- ATL开发指南的程序源码下载地址 或者 第5章的测试代码 oss
同样的,由于这些对象是被线程所拥有的,MFC的这些句柄映射的存储方式是线程局部存储(thread-local-storage ,TLS)。也就是说,对于同一个句柄,句柄映射中相应的对象可以不一致。这在多线程程序中会造成一些问题,参见微软知识库文章Q147578 CWnd Derived MFC Objects and Multi-threaded Applications。