DOCUMENT:Q130302 10-FEB-2000 [foxpro] TITLE :PRB: OLE Word 6 Object Does Not Close Itself in Windows NT PRODUCT :Microsoft FoxPro PROD/VER:WINDOWS:3.0 OPER/SYS: KEYWORDS: ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft FoxPro for Windows, version 3.0 ------------------------------------------------------------------------------- SYMPTOMS ======== In the operating environment of Windows NT version 3.5, when you navigate through Visual FoxPro and activate Microsoft Word 6.0 for Windows (the 16- bit version) to edit a "bound" object, the instance of Word does not quit when you skip to the next record or quit Visual FoxPro. CAUSE ===== WORKAROUND ========== The only way to quit the instance of Word is to use PVIEWER.EXE (a program provided with the Windows NT Resource Kit) to kill the "NTVDM" process (the Windows NT 16-bit applications process). STATUS ====== Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. MORE INFORMATION ================ Steps to Reproduce Behavior --------------------------- On a system running Windows NT version 3.5, Workstation: 1. From the Windows file manager, copy one of the Word 16 templates to the Word startup directory. For example, copy PRESENT1.DOT to the C:\WORD16\STARTUP directory. 2. In Visual FoxPro, create a table named Testword.dbf that has PRESENT1.DOT as an embedded Word Object in a general field. The easiest way to do this is to follow these steps: a. In the Command window, enter the following command: CREATE TABLE Testword (gfield1 g) b. Open the Testword table in a Visual FoxPro work area. c. Browse the table, and use the APPEND command to add a blank record to the table. d. Press ALT+TAB to return to Program Manager. Then start Microsoft Word. e. In Word, open the PRESENT1.DOT document. This .DOT file is an empty template. f. Select the entire document. Then from Word's Edit menu, choose Copy to copy the document to the clipboard. g. Close Word. h. Return to Visual FoxPro. i. Browse the Testword table. Double-click gfield1. An empty edit window will appear. j. From the Edit menu, choose Paste to copy the contents of PRESENT1.DOT from the clipboard into gfield1. Double-click the empty window. Enter some text in the field so it can be seen. k. Save gfield1. Append two more empty records to the table. 3. In Visual FoxPro, create a form that has an OLE bound control that is bound to the general field in the table created in step 2. Then add a command button to the form. Add the following commands to the Click method of the command button: SKIP THISFORM.Refresh 4. Close and save the form as TESTWORD.SCX. 5. Press CTRL+ESC to open the Task Manager. Close all the processes in Windows NT except Visual FoxPro, Program Manager, and File Manager. 6. Go to File Manager. Start PVIEWER.EXE from the WINDOWS\RESKIT directory. A dialog box titled "Process Viewer" is presented. All of the processes currently active in Windows NT are listed in alphabetical order. Notice that there is no process named "NTVDM..." 7. Press ALT+TAB to return to Visual FoxPro. 8. If it is not still open, open the TESTWORD.DBF table. 9. Run the TESTWORD.SCX form by typing "DO FORM Testword" (without the quotation marks) command in the Command window. 10. Double-click the gfield1 OLE object. Word opens for "in place activation." Press ALT+TAB to switch to the Process Viewer window. Note that an entry for "NTVDM..." has been added to the process list. Switch back to Visual FoxPro. 11. Save gfield1, and click the command button to move to the next record. 12. Press ALT+TAB to switch to the Process Viewer window. Notice that there is still an entry for "NTVDM..." 13. Switch back to Visual FoxPro. Quit Visual FoxPro. 14. Return to the Process Viewer. The entry for NTVDM is still there. Select it with the mouse, and click the Kill Process button. Additional query words: VFoxWin 3.00 bound OLE Windows NT hang winword ====================================================================== Keywords : Technology : kbAudDeveloper kbFoxproSearch Version : WINDOWS:3.0 ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2000.