在COM中有这样一个函数,如下:bool ExportTool::CopyToClipBoard(CString& inXml, int type)
{
CDC dc;
dc.Attach(::GetDC(NULL));
CString strFileName = _T("c:\\temp\\export.txt"); CDC memDC;
CBitmap memBitmap;
memDC.CreateCompatibleDC(NULL);
CRect rc(0, 0, 782, 530);
memBitmap.CreateCompatibleBitmap(&dc,rc.Width(),rc.Height());
memDC.SelectObject(&memBitmap);
CBrush brush(0xFFFFFF);
memDC.FillRect(&rc, &brush); CLog::Log(strFileName,_T("1"),_T("CDC and CBitmap Ready!"));

DrawingXml oDrawingXml;
oDrawingXml.SetMedium(memDC.m_hDC);
CLog::Log(strFileName,_T("2"),_T("Enter Object of DrawingXml"));
if (type == DrawingXml::eFromStream)
{
if (!oDrawingXml.Draw(inXml, DrawingXml::eFromStream))
{
return false;
}
}
else
{
if (!oDrawingXml.Draw(inXml, DrawingXml::eFromFile))
{
return false;
}
}

CLog::Log(strFileName,_T("10"),_T("Open Clipboard"));
::OpenClipboard(NULL);
::EmptyClipboard();
CLog::Log(strFileName,_T("11"),_T("Set memBitmap.m_hObject to Clipboard"));
::SetClipboardData(CF_BITMAP,memBitmap.m_hObject);
::CloseClipboard();
CLog::Log(strFileName,_T("12"),_T("Close Clipboard"));
return true;
}作用是基于xml先创建一个位图,然后拷贝到clipboard。
现在的问题是,在大多数的电脑上是好。唯独有一台客户的电脑,在运行这个功能时,失败了。
请问各位,是客户电脑缺少东西,还是代码写错了。因为在这个方法里面的,所有log都没有打出来。请问是不是出现了什么异常需要去捕获?谢谢!