WD: Word Hangs When Running Macro with "Dim Dlg As" Statement

Last reviewed: February 2, 1998
Article ID: Q106137
The information in this article applies to:
  • Microsoft Word for Windows, versions 2.0, 2.0a, 2.0a-CD, 2.0b, 2.0c, 6.0, 6.0a, 6.0c
  • Microsoft Word for Windows 95, version 7.0
  • Microsoft Word for the Macintosh, version 6.0

SYMPTOMS

If your WordBasic macro dimensions a built-in Word for Windows dialog box (using the Dim Dlg As statement) but does not subsequently run the GetCurValues statement, a general protection (GP) fault error may occur when you run the macro.

This occurs frequently in Word for Windows 95 version 7.x if you run a macro that you created in Word 6.x or 2.x or if you run a macro in Word version 6.x that was created in Word version 2.x.

This occurs in Word 6.x if your macro first dimensions a dialog box and then fails to call the GetCurValues statement before it attempts to return a specific value from the dialog box.

NOTE: This does not happen if you fail to run the GetCurValues statement after dimensioning a custom dialog box. It only occurs when you dimension a Word dialog box.

CAUSE

If your macro does not call GetCurValues, Word does not initiate the global settings for the dialog box.

For additional information on Word 7.0, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q132214
   TITLE     : WD95: WordBasic Err=582 "Unable to Load Specified Library"

WORKAROUND

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

   http://www.microsoft.com/supportnet/refguide/ 

To work around this problem, add the line

   GetCurValues <DialogRecord>

to the macro following the line that dimensions the dialog box, for example:

   Sub MAIN
      Dim dlg As FormatStyle
      GetCurValues dlg
      a$ = dlg.Name
      Print a$
   End Sub

STATUS

Microsoft has confirmed this to be a problem in the versions of Microsoft Word listed at the beginning of this article. This problem was corrected in Word 97.

REFERENCES

"Using WordBasic," version 2.0, pages 67 and 228 "Microsoft Word Developer’'s Kit," page 492


Additional query words: winword2 GPF
Keywords : kbmacroexample macword ntword winword word6 word7 word95 wordnt kbcode kberrmsg kbmacro kbprg
Version : WINDOWS:2.0,2.0a,2.0a-CD,2.0b,2.0c,6.0,6.0a,6.0c,7.0,7.0a; MACINTOSH:6.0,6.0.1,6.0.6.0.1a
Platform : MACINTOSH WINDOWS
Issue type : kbbug
Solution Type : kbfix kbworkaround


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.

Last reviewed: February 2, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.