首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

多线程开发上的有关问题:如何能在线程里读取office文档的内容(ole方法)

2012-03-31 
多线程开发上的问题:怎么能在线程里读取office文档的内容(ole方法)我在程序里面创建一个线程来打开和读取o

多线程开发上的问题:怎么能在线程里读取office文档的内容(ole方法)
我在程序里面创建一个线程来打开和读取office文档的内容。创建线程我是用AfxBeginThread。
代码:m_hOffice = AfxBeginThread(thStartCheck,NULL);
在thStartCheck里面对各个office进行内容读取。

C/C++ code
if(stricmp(cFileType,".txt")==0){//txt    OfficeSelf.TxtCheck(m_sFileName);}else if(stricmp(cFileType,".doc")==0 || stricmp(cFileType,"docx")==0){//WORD    OfficeSelf.WordCheck(m_sFileName);}else if(stricmp(cFileType,".xls")==0 || stricmp(cFileType,"xlsx")==0){//EXCEL    OfficeSelf.ExcelCheck(m_sFileName);}else if(stricmp(cFileType,".ppt")==0 || stricmp(cFileType,"pptx")==0){//txt    OfficeSelf.PPTCheck(m_sFileName);}

结果:txt是正常(用的是CFile类),WORD在执行Open()的时候报内存冲突,PPT和EXCEL都分别创建不了Application对象

WORD,PPT,EXCEL,的打开读取代码都是正确的。我不用线程来做,直接在进程里面调用都是没问题的。

有人知道问题出在哪吗?我现在是需要在线程里面打开、读取office文档的内容。 (堆栈空间?内存分配什么的?)

[解决办法]
线程要先执行AfxOleInit()

热点排行