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

ID: Q106137

The information in this article applies to:

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 professionals 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          : kberrmsg kbmacro kbprg kbdtacode wordnt kbmacroexample winword ntword macword word6 word7 word95 
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

Last Reviewed: April 9, 1999