Microsoft KB Archive/238341

= FIX: Opening a DSP or DSW File in Explorer Crashes Visual C++ =

Article ID: 238341

Article Last Modified on 10/15/2002

-

APPLIES TO


 * Microsoft Visual C++ 6.0 Enterprise Edition

-



This article was previously published under Q238341



SYMPTOMS
Double-clicking or pressing the return key with a project file (.dsp) or a workspace file (.dsw) selected in Windows Explorer causes Visual C++ to crash with the following error:

The instruction at "0x50c2b90d" referenced memory at "0x00000000". The memory could not be "read".

NOTE: The addresses in the error message may vary depending on the operating system and the service pack installed.



CAUSE
This problem occurs when you have a macro file (.dsm) loaded in the Visual C++ integrated development environment.



RESOLUTION
When opening projects or workspaces from Windows Explorer, Dynamic Data Exchange (DDE) is used to open these files in a currently running instance of Visual C++. If Visual C++ is not running, the program will start if you double-click a .dsp or .dsw file. The presence of a macro file interferes with DDE, thereby causing this crash. Follow these steps to turn off this feature for the .dsp and .dsw file extensions:
 * 1) Start Windows Explorer.
 * 2) From the View menu, select Folder Options. (If you are using Windows 2000, then View is found under the Tools menu.)
 * 3) Click the File Types tab.
 * 4) Under Registered File Types, select Project File, and then click Edit. (In Windows 2000, click Advanced.)
 * 5) Select Open with MSDEV from the Actions list, and then click Edit.
 * 6) Clear the Use DDE checkbox and click OK. For the .dsw file extension, repeat the above steps except in Step 4 select Project Workspace.

If you want to reverse the changes you made using the above steps, then do the following:
 * 1) Follow the first six steps described above.
 * 2) Select the Use DDE checkbox.
 * 3) Type Open("%1") in the DDE Message edit box.
 * 4) Type msdev in the Application edit box.
 * 5) Type System in the Topic edit box.



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

This problem was corrected in Microsoft Visual C++ .NET.



Steps to Reproduce Behavior

 * 1) From the Tools menu, select Customize, then click the Add-ins and Macro Files tab and browse for an existing macro file (DSM).

If a macro file does not exist, then create a new one and add a Visual Basic Script macro to the file. It is essential to have some text in the macro file.
 * 1) Quit Visual C++.
 * 2) Start Windows Explorer, and then double-click an existing DSP or DSW file. An error will occur.

