PRJ98: Project Stops Responding If Tasks Have Modified Baseline

ID: q177477


The information in this article applies to:


SYMPTOMS

Microsoft Project 98 may stop responding when you do any of the following:

In addition, you may receive one of the following error messages.

Windows 95

This program has performed an illegal operation and will be shut down.

If the problem persists, contact the program vendor.
When you click Details, you receive the following error message:
WINPROJ caused an invalid page fault in module WINPROJ.EXE at
0137:30344be3.

Windows NT

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


CAUSE

This problem occurs if you have a task that is 100 percent complete and you manually enter portions of the task's baseline such as Baseline Duration and Baseline Start, but you have set other tasks' baseline data via the Save Baseline function.

In this situation, some tasks have modified timephased baseline information and others do not. Therefore, Microsoft Project cannot calculate the timephased Budgeted Cost of Work Performed (BCWP) values.


WORKAROUND

To work around this problem, use any of the following methods.

Method 1: Install Project 98 SR-1 - Recommended Method

To correct this problem, install Microsoft Project 98 Service Release 1 (SR-1). For additional information about obtaining and installing SR-1, please see the following article in the Microsoft Knowledge Base:
Q185102 PRJ98: How to Obtain and Install MS Project 98 SR-1

Method 2: Resave the Project Baseline

If you have not yet saved your project's baseline and you and don't plan to manually enter task baseline information, you can reset your project's baseline by following these steps:
  1. On the Tools menu, point to Tracking and click Save Baseline.


  2. In the Save Baseline dialog box, click OK.


Method 3: Run a Macro to Initialize the Timephased Baseline Fields

NOTE: This macro resolves the behavior in the majority of cases, but does not resolve the behavior in every case. If this macro does not resolve the behavior, obtain Project 98 SR-1 as described in Method 1.

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/


For additional information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:
Q163435 VBA: Programming Resources for Visual Basic for Applications


If you wish to retain all of your current baseline information, use the following sample Visual Basic for Applications macro to correct the problem. You need to run this macro whenever you add new tasks and have manually set portions of a task's baseline fields:

   'This macro initializes the timephased baseline information on tasks
   'where it doesn't exist.

   Sub FixTSBaselines()

   Dim oTasks As Tasks
   Dim i As Long
   Dim oTsv As TimeScaleValues
   Dim bCalc As Boolean

   'On Error GoTo FixTSError
   Set oTasks = ActiveProject.Tasks

   bCalc = Application.Calculation
   Application.Calculation = pjManual

   For i = 1 To oTasks.Count

      'Check for null tasks.
      If Not oTasks(i) Is Nothing Then
         If Not oTasks(i).ExternalTask Then
          If oTasks(i).SubProject = "" Then
            'Get the task's BaselineWork contour.
            Set oTsv = oTasks(i).TimeScaleData(oTasks(i).Start, _
                oTasks(i).Finish, pjTaskTimescaledBaselineWork, _
                pjTimescaleDays)
            'Check to see if contour exists - create if it doesn't.
            If (oTsv(1).Value = "") Then
               'Initialize contour.
               oTsv(1).Value = 0
            End If
         End If
        End If
      End If

   Next i
   Application.Calculation = bCalc

   Exit Sub
   FixTSError:

      Application.Calculation = bCalc

   End Sub 


STATUS

Microsoft has confirmed this to be a problem in the versions of Microsoft Project listed at the beginning of this article.

This problem was corrected in Microsoft Project 98 for Windows, Service Release 1 (SR-1).

For additional information about obtaining and installing SR-1, please see the following article in the Microsoft Knowledge Base:

Q185102 PRJ98: How to Obtain and Install MS Project 98 SR-1


Additional query words: ipf hang hung crash crashed locks locked frozen freezes crashing quit quits stopped crashes auto lockup freeze break won't respond waiting near memory stops responding hangs lock up fail


Keywords          : kberrmsg kbfile kbprg kbdta kbdtacode 
Version           : WINDOWS:98
Platform          : WINDOWS 
Issue type        : kbbug 

Last Reviewed: July 23, 1999