明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2155|回复: 0

帮忙找找错

[复制链接]
发表于 2012-9-17 20:56:24 | 显示全部楼层 |阅读模式
    static UINT Test(LPVOID lparam) //     static DWORD WINAPI Test(LPVOID lparam)
    {
        Acad::ErrorStatus es = eNotImplementedYet;

        TCHAR file[][255] = {_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[][255] = {_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版本在真机里面依然会有兼容性的提示,而且在运行时会发生异常...
有人清楚是怎么回事么?
先谢谢了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 09:25 , Processed in 0.156503 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表