G
guoxp
Unregistered / Unconfirmed
GUEST, unregistred user!
请教诸位一个直接从内存流中打开word文档的问题,内存流中的文件来自数据库<br><br><br>procedure Tf_guoji.SpeedButton_wordClick(Sender: TObject);<br>var<br>blob_word:TBlobStream;<br>M_word:TMemoryStream;<br>begin<br>DataModule_zbgl.Q_MB.Edit;<br><br>blob_word:=TBlobStream.Create(DataModule_zbgl.Q_MB.fieldbyname('招标模板') as TblobField,bmReadWrite);<br>screen.Cursor:=crHourGlass;<br>try<br> m_word:=TmemoryStream.Create;<br> try<br> m_word.CopyFrom(blob_word,blob_word.size);<br> try<br> ShellExecute(handle,'open',pchar(path),nil,nil,SW_SHOWNORMAL);<br> <br> //请注意,这里的pchar(path)本来是通过文件路径来打开文件的,那时候的程序没有问题,现在,我<br> //想直接通过内存流m_word打开word来显示位于M_word中的word文档,那么,这个ShellExecute就不能用了<br> //我该用什么好了?我见过palySound()函数来直接播放内存流中的wav数据的,那么,直接从内存流打开<br> //word文档该怎么做?急盼回答!!<br><br> except<br> application.MessageBox('请确认已经安装word应用程序!','提示信息..',mb_ok);<br> exit;<br> end;<br> <br><br> finally<br> m_word.Free;<br> end;<br>finally<br> screen.Cursor:=crDefault;<br> blob_word.Free;<br>end;<br><br>end;<br>