ID: Q116477
The information in this article applies to:
The EXAMPLE6.PRG code in the FoxPro for Windows SAMPLE\OLE subdirectory does not print the embedded Microsoft Word for Windows document as stated.
To print the embedded Word for Windows document, make the following changes to the code:
SELECT oletable
LOCATE FOR oletype = "MSWord"
@ 0,0 SAY OBJECT VERB 0 NOWAIT && NOWAIT clause is undocumented.*
ichan = DDEInitiate("WinWord","System")
=DDEExecute(ichan, "[FilePrint]") && prints the embedded document **
=DDEExecute(ichan, "[FileClose]") && closes the document
=DDEExecute(ichan, "[FileExit]") && exits Word for Windows
=DDETerminate(ichan)
* There is a NOWAIT clause on the @ ... SAY-BMPs and OLE Objects command
that is not documented in the "Language Reference" manual or the Help
file in FoxPro version 2.5 for Windows. (The NOWAIT clause is documented
in the Help file in FoxPro 2.5a, 2.5b, and 2.6 for Windows.) The purpose
of the NOWAIT clause is to prevent FoxPro from waiting for Word to
finish printing.
** The DDEExecute() command can execute only a single command at a time.
To test the incorrect code, create a table called OLETABLE and add two fields, the first having a field type of character and the second having a field type of general; that is, OLETYPE c(10) and OBJECT g(10). Add one record in OLETABLE, store "MSWord" in OLETYPE, and embed a WinWord document in OBJECT. Then execute EXAMPLE6.PRG. FoxPro seems to hang after running the code and Word for Windows does not print the embedded document stored in the general field.
Additional reference words: FoxWin 2.50 2.50a 2.50b 2.60 docerr winword DDE KBCategory: kbprg kbprb kbdocerr KBSubcategory: FxinteropDde
Last Reviewed: June 26, 1995