Lonaury 发表于 2012-9-17 20:56:24

帮忙找找错

    static UINT Test(LPVOID lparam) //   static DWORD WINAPI Test(LPVOID lparam)
    {
      Acad::ErrorStatus es = eNotImplementedYet;

      TCHAR file[] = {_T("E:\\caddata_2012\\a.dwg"),
            _T("E:\\caddata_2012\\b.DWG"),
            _T("E:\\caddata_2012\\c.DWG")
      };

//         es = acDocManager->lockDocument(curDoc(), AcAp::kWrite, NULL, NULL, true);

      for (int i = 0; i < 3; i++)
      {
            CString strFPath(*(file + i));
            // 获取数据库
            AcDbDatabase* pDatabase = new AcDbDatabase(Adesk::kFalse);
            es = pDatabase->readDwgFile(*(file + i)/*strFPath.GetBuffer(0)*/);//eNoInputFiler

            es = pDatabase->saveAs(strFPath.GetBuffer(0));

            if (pDatabase != NULL)
            {
                delete pDatabase;//crash 3
                pDatabase = NULL;
            }   
      }
//         es = acDocManager->unlockDocument(curDoc());   
      return 1;

    }


    // - ForTest.MyT command (do not rename)
    static void ForTestMyT(void)
    {
      // Add your code for command ForTest.MyT here
      Acad::ErrorStatus es = eNotImplementedYet;

      AfxBeginThread(Test, NULL);   
//         CreateThread(NULL, NULL, Test, NULL, NULL, NULL);

//         TCHAR file[] = {_T("E:\\caddata_2012\\288-100-2-05.dwg"),
//             _T("E:\\caddata_2012\\288-100-4-03.DWG"),
//             _T("E:\\caddata_2012\\288-100-4-04.DWG")
//         };
//
//         es = acDocManager->lockDocument(curDoc(), AcAp::kWrite, NULL, NULL, true);
//         for (int i = 0; i < 3; i++)
//         {
//             CString strFPath(*(file + i));
//             // 获取数据库
//             AcDbDatabase* pDatabase = new AcDbDatabase(Adesk::kFalse);
//             es = pDatabase->readDwgFile(/**(file + i)*/strFPath.GetBuffer(0));
//
//             es = pDatabase->saveAs(strFPath.GetBuffer(0));
//             if (pDatabase != NULL)
//             {
//               delete pDatabase;//crash 3
//               pDatabase = NULL;
//             }
//         }
//         es = acDocManager->unlockDocument(curDoc());   
    }

} ;

//-----------------------------------------------------------------------------
IMPLEMENT_ARX_ENTRYPOINT(CForTestApp)

ACED_ARXCOMMAND_ENTRY_AUTO(CForTestApp, ForTest, MyT, MyT, ACRX_CMD_TRANSPARENT, NULL)


使用cad2012加载编出来的arx
这段代码用vs2010+arx2012 编出来在虚拟机里面加载时cad会提示兼容性的问题,运行的时候没什么问题。但是编出release版本在真机里面依然会有兼容性的提示,而且在运行时会发生异常...
有人清楚是怎么回事么?
先谢谢了哈
页: [1]
查看完整版本: 帮忙找找错