RESOLUTION
Service pack information
This problem is corrected in Microsoft Visio 2002 Service Pack 2.
To resolve this problem, obtain the latest service pack for Visio 2002. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
867749 How to obtain the latest Visio 2002 Service Pack
Hotfix information
A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Only apply it to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next Microsoft Visio 2002 service pack that contains this hotfix.
To resolve this problem immediately, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:
Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.
The global version of this hotfix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the
Time Zone tab in the Date and Time tool in Control Panel.
Date Time Version Size File name
-----------------------------------------------------------------
29-Oct-2002 21:17 10.0.3424.4 68,832 Visio.exe
29-Oct-2002 21:17 10.0.3424.4 6,348,008 Vislib.dll
04-Oct-2002 21:09 10.0.3404.4 646,320 Visres.dll
This fix adds the following registry entry:
HKEY_CURRENT_USER\Software\Microsoft\Visio\Application\OnChangedSinkRefreshThrottle
In this fix, logic was added to the
IPropertyNotifySink::OnChanged code in Visio to throttle the update calls to the shapesheet.
This new behavior occurs if the following conditions are true:
- The size or location of the ActiveX control does not
change.
-and- - You enable the OnChangedSinkRefreshThrottle registry entry after you install the fix. To enable the registry
entry, set HKEY_CURRENT_USER\Software\Microsoft\Visio\Application\OnChangedSinkRefreshThrottle to a value other than the default value of 0 (zero)
seconds.
The
OnChangedSinkRefreshThrottle value is used to determine if enough time has elapsed between the
last
OnChanged request for a specific dispatch identifier (DISPID) on an ActiveX
control. It provides relief when you use real-time controls with bindable
properties that refresh the properties and inform Visio by using the
OnChanged calls, and when the interval between the calls to
IPropertyNotifySink::OnChanged cannot be set in the control.
To enable the
OnChangedSinkRefreshThrottle registry entry, follow these steps:
WARNING: If you use Registry Editor incorrectly, you may cause serious
problems that may require you to reinstall your operating system. Microsoft
cannot guarantee that you can solve problems that result from using Registry
Editor incorrectly. Use Registry Editor at your own risk.
- Start Visio.
- On the Tools menu, click
Options.
- Click the Advanced tab.
- Under User settings, click to select the
Put all settings in Windows registry check box, and then click
OK.
- Quit Visio.
- Click Start, and then click
Run.
- In the Open box, type
regedit, and then click OK.
- Locate the following registry key:
HKEY_CURRENT_USER\Software\Microsoft\Visio\Application
- In the right pane, double-click OnChangedSinkRefreshThrottle.
Note that the default value that appears in the
Value data box is 0 (zero). - Change the value in the Value data box to
use a value other than the default value of 0.
Note: Any value that is greater than the default value of 0 enables
the throttling feature. Use a value that is appropriate to the throttling level
that you want. In certain situations, you may require a throttling level
greater than 1. For example, type 2 in the Value
data box, and then click OK. - Quit Registry Editor.
Notes:
- Use this method if you only have to enable the fix on a few
computers. To deploy and enable this fix to a large number of computers, export
the modified registry key to a .reg file and then deploy the fix in addition to
the .reg file to the other computers . Note that because this is a per-user
setting, the registry key must be configured for each user.
- All Visio user settings registry keys (including the HKEY_CURRENT_USER\Software\Microsoft\Visio\Application\OnChangedSinkRefreshThrottle registry entry described in this article) are stored in the HKEY_CURRENT_USER hive in the registry. Because this hive maintains separate
settings for individual users, the functionality must be enabled for each
user.
- To disable the OnChangedSinkRefreshThrottle registry entry, restore the value of the HKEY_CURRENT_USER\Software\Microsoft\Visio\Application\OnChangedSinkRefreshThrottle entry to the default value of 0 (zero) seconds.