现在问题是这样的:(20)
void DoMyCopy()
{
   if(文件未被打开)
   {
      return OPENFALSE;
   }
   else
   {
      //对文件内部进行操作.主要是写入操作
      //关闭文件
      SetEvent(m_hCopyEvent);
    }
}//拷贝文件,线程操作
DWORD WINAPI COperateLib::CopyToDisk(PVOID pParam)
{
  COperateLib *pOperLib = (COperateLib *)pParam;
  uint nErrorFlag = FLAGISWRONG;
  while (pOperLib->m_hCopyEvent != INVALID_HANDLE_VALUE)
  {
     DWORD nResult = WaitForSingleObject(pOperLib->m_hCopyEvent, INFINITE);
     if (nResult == WAIT_OBJECT_0) //有发送事件
     {
         CopyFile(pOperLib->DBFILENAME,pOperLib->DBFILENAME_Disk,FALSE);
//打开文件
     }
  }
  return 0;
}//如果不用线程进行Copy,直接调用CopyFile函数,没什么问题
调用线程,循环执行几次问题就有了.是不是我的逻辑出现问题?还有一个小问题:(10)
LocalFree
和delete[]
有什么区别?

解决方案 »

  1.   

    现在还发现一个问题
    执行 CopyFile(pOperLib->DBFILENAME,pOperLib->DBFILENAME_Disk,FALSE);
    这一条语句后,移到下面的语句,并不是表明文件复制成功了.只是说明复制操作已经做了,具体的复制操作还没有做完
    现在就不知道什么时候确定做好完整的拷贝
      

  2.   

    不知道啊,
    应该是完成的.
    多看看windows 机制