Library and Tool Change List
(Current year only - see page bottom for links to prior changes)


        

Version released at this point: 6.3.1.0006

November 07, 2006

   1)   Entry Title: Sage.PutFieldA - Added checking of date and time field data
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need to check the data being put into date and time
                     fields to ensure that it is the correct format.

         Correction: Added a check into PutFieldA so that if the target field
                     is a date or time type then the string is check to see
                     that it conforms to the mask for that field.  If not a
                     Minor error is generated.


   2)   Entry Title: SetLib.PreviousElement - Not correctly locating entries
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: The routine PreviousElement does not always correctly
                     find entries.

         Correction: A numeric value in some assembler code was entered as a
                     decimal value instead of a hex value.


   3)   Entry Title: Thor - Getting an access violation when adding an FTP object
      Area Affected: Thor
             Status: Complete

        Description: Getting an access violation while trying to add an FTP
                     object.

         Correction: Found that the newer Delphi compiler was catching and
                     throwing an access violation when a null string was
                     indexed.  Apparently this had been slipping past in older
                     versions of Delphi.


November 06, 2006

   1)   Entry Title: BinLib - BinaryLocateLong routine is not exported
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need to export the BinaryLocateLong routine.

         Correction: Made the BinLib.BinaryLocateLong routine visible in the
                     exported routines list.


   2)   Entry Title: WinExec - Getting a memory leak error
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Getting a memory leak whenever the Exec routine is run.

         Correction: Found and corrected the problem.  Should have explicitely
                     called the Close routine.


   3)   Entry Title: Thor - Added an auto increment type field
      Area Affected: Thor
             Status: Complete

        Description: Added an auto increment type field which is defined as a
                     type 19.

         Correction: Added a new field type in Thor that is called an auto
                     increment field.  Whenever a record is written a unique
                     integer value will automatically be assigned into this
                     field.  You do not have to do anything in your code to
                     make this happen.  In fact if you try to alter this field
                     yourself it will generate an error.  Each time a record
                     is written a unique positive integer value is assigned to
                     the field.  If you delete records then the next time
                     that new records are written those gaps in the numeric
                     sequence WILL be reused.



                     NOTE - any relation which has an auto increment field
                     should NOT be used in the Sage.ProcessAdd routine.
                     Because key indexes for the relation are turned off
                     during that operation the field WILL NOT be loaded with
                     values.


   4)   Entry Title: WEditLib - Getting a memory leak error
      Area Affected: Delphi
             Status: Complete

        Description: Getting a memory leak error.

         Correction: Found that a open array element was being passed to a
                     MoveLib call without explicitely referencing the [0]
                     element.


   5)   Entry Title: StringsX.SubString - Getting an array length error
      Area Affected: Delphi
             Status: Complete

        Description: Getting an array length error from the SubString call.

         Correction: Found that if the source string logical value was shorter
                     then the dest string but the entire source string was
                     longer (in other words the string was a long null filled
                     string) that it would pop the array length check.
                     Corrected so that it only pops if the actual string value
                     is longer than the destination string, not just the
                     physical string length.


   6)   Entry Title: Delphi type symbol files added
      Area Affected: Thor
             Status: Complete

        Description: Need to have Delphi symbol files in the list of symbol
                     file types.

         Correction: Added Delphi as a choice in the type of symbol files that
                     can be selected.


   7)   Entry Title: SageRich - Getting a memory leak error
      Area Affected: Delphi
             Status: Complete

        Description: Getting a memory leak trace to the SageRich unit.

         Correction: Found that an allocation used a variable containing one
                     size value but the deallocation came from another
                     variable with a different value.


   8)   Entry Title: GDIW - Need to detect corrupted fields and handle it
                     gracefully
      Area Affected: GDIW
             Status: Complete

        Description: Need to gracefully detect and handle when a field has
                     some type of corrupted data in it.

         Correction: Added code to silently and gracefully handle the error if
                     a field contains bad data values in it.  Prior to this
                     change it would end up popping up a Minor or Fatal error
                     message.  Now the error is handled and the field will end
                     up with the string value '[BAD DATA]' shown.


   9)   Entry Title: QueryLib, SQLExec - Added an error parameter to many calls
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need to have an error parameter returned from many of the
                     calls.

         Correction: Added an error parameter to many of the calls so that
                     errors that happen inside the routines can be detected by
                     the calling routines.


  10)   Entry Title: WinExec - Not executing programs when called
      Area Affected: Delphi
             Status: Complete

        Description: Will not execute a program when called.

         Correction: Found that conversion to Delphi had introduced an error.
                     Instead of passing a pointer to the name of the program
                     to execute it was passing a string of the name.


October 06, 2006

   1)   Entry Title: Profile - Getting a can't modify error message if the file
                     does not exist
      Area Affected: Ada, M2, Dephi
             Status: Complete

        Description: Getting the error messsage that the file cannot be
                     modified even if the file does not exist.

         Correction: Added a check so that the can't modify message is only
                     put up when the file already exists but is read only.


August 25, 2006

   1)   Entry Title: FileUtil.GetUniqueFileName - Adjust params for better
                     control of the name
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Add params to allow just appending values on the current
                     Prefix and Extension of the name instead of completely
                     replacing them.

         Correction: Added params to allow controlling how many numeric digits
                     get added and changed logic to append those digits to
                     the current Name and Extension.


   2)   Entry Title: FileUtil.SetToExePath - New routine to set path of a file
                     to the current exe folder
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need a new routine that will provide an easy way to make
                     sure that a file's path points to the currently running
                     executables location.

         Correction: Added the routine FileUtil.SetToExePath to provide the
                     function described.


August 23, 2006

   1)   Entry Title: Thor - Getting an access violation when converting old src
                     file
      Area Affected: Thor
             Status: Complete

        Description: Getting an access violation error when an old format .src
                     file is being converted to the current format.

         Correction: Found where a pointer was being set to nil that should
                     not have.  This error was introduced and is contained in
                     versions 6.3.1.0003, 6.3.1.0004 and 6.3.1.0005.  If you
                     have any of those versions you will not be able to open
                     old .src files (older than approximately four years ago).


August 01, 2006

   1)   Entry Title: TimeLib - Added routines for working with dates prior to
                     1900
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Added routines to allow working with dates prior to 1900
                     accurately.  Prior to this change the TimeLib date
                     routines did not accurately recognize any date prior to
                     January 1, 1900.  The Leap Year calculations were
                     inaccurate also as they tried to calculate leap days
                     prior to the year 1753 (they didn't exist before that).
                     The new routines introduce a new date value called a
                     ChronoJulian (chronological julian) that is accurate in
                     the older dates.  The starting point of a ChronoJulian
                     date begins at Jan. 1, 4713 B.C. and continues upward
                     counting the number of nychthemerons since that time.  A
                     nychthemeron is one complete cycle of day and then night
                     back to the beginning point.  This type of date is
                     typically used in more scientific areas such as
                     astronomy.  Note though that even this is not completely
                     standard as some people use midnight of Jan. 1, 4713 B.C.
                     as the starting point and others use noon of that day as
                     the start of the first nychthemeron.  In these
                     algorithms the midnight starting point was used as it
                     seems to be more widely used.  Some of the new routines
                     also introduce the dual date format which is used when
                     talking about dates that occurred around the time of the
                     switch from the Julian calendar to the Gregorian
                     calendar.   Dual dates for example appear like this: Jan.
                     15, 1773/1774 (in the Julian calendar that day was Jan.
                     15, 1773 but the same day in the Gregorian calendar was
                     Jan. 15, 1774).

         Correction: Added routines for working with dates prior to Jan. 1,
                     1900.  These routines are TimeLib.CheckDualDate,
                     TimeLib.ChronoJulianToGregorianDate,
                     TimeLib.CurrentDateChronoJulian, TimeLib.FixDualDate and
                     TimeLib.GregorianDateToChronoJulian.



                     These routines were added for the convenience of working
                     with older dates and do not affect any of the current
                     date and time routines in the TimeLib package.


July 27, 2006

   1)   Entry Title: BlockDataLib, MultUser, AscRptLib packages/modules/units
                     added
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: New modules called BlockDataLib, MultUser, AscRptLib were
                     added.

         Correction: These modules contain some handy routines that are useful
                     to people working with block data, multi-user mode or
                     doing ASCII format report files.  These packages are used
                     by a number of tools and applications but before this
                     the code was kept outside of SageST.  For convenience of
                     use and maintenance these were added to SageST.
                     Initially there probably aren't routines that anyone
                     needs to rush to use but they will be available for
                     future use now.


July 24, 2006

   1)   Entry Title: CtrlLV - LV control giving an access violation
      Area Affected: Delphi
             Status: Complete

        Description: Getting an access violation from the LV control if a
                     column header is clicked or if a column is resized.

         Correction: Two type declarations incorrectly declared to be pointers
                     to a type instead of the base type itself.  A second
                     type based on these declared a pointer which then caused
                     a double pointer reference instead of a single.  This was
                     causing an access violation when trying to dereference
                     variables of these types.


   2)   Entry Title: SageDialogs - Not showing fixed volume names correctly.
      Area Affected: Dephi
             Status: Complete

        Description: The dialog to show folders is not showing fixed volume
                     names correctly.

         Correction: Found a call to the Windows API that did not correctly
                     pass in a buffer.  The buffer never got loaded with
                     information.


July 12, 2006

   1)   Entry Title: CtrlTree - Getting access violations when the tree is used.
      Area Affected: Dephli
             Status: Complete

        Description: Getting access violations when the tree is used.

         Correction: Found a M2 to Delphi conversion error where a type was
                     ported as the pointer to a record type instead of using
                     record type itself.


July 10, 2006

   1)   Entry Title: Display.KeyboardTable type changed to SageSpec.KeyboardDef
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: The type name Display.KeyboardTable has been eliminated.

         Correction: Use the type SageSpec.KeyboardDef instead.


June 29, 2006

   1)   Entry Title: WinRebuild - If DFL open on entry it closes on exit
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Found that if the dfl was open when the routine was
                     called it still closed it on exit.  Should leave it in
                     the same state.

         Correction: Corrected the code so it leaves the dfl either open or
                     closed depending on the state that it was in when called.


   2)   Entry Title: Reports - Not able to use any routine after Open is called
      Area Affected: Delphi
             Status: Complete

        Description: The Open routine can be called but every other routine
                     does not work.

         Correction: Found that the way the Handle params was being internally
                     used it did not get properly set coming back out of the
                     Open routine.  Since the handle was invalid then it
                     caused every subsequent routine to fail that it was
                     passed to.


June 27, 2006

   1)   Entry Title: Sage.CopyField - Getting an access violation
      Area Affected: Delphi
             Status: Complete

        Description: Getting an access violation from the CopyField routine.

         Correction: Found that this was a M2 to Delphi conversion problem.
                     The logic ended up trying to nul fill a pointer.  That
                     ended up overwritting memory.  The logic was corrected to
                     not use a pointer.


   2)   Entry Title: TermX.WriteString - Getting a range check error if nul
                     string passed in
      Area Affected: Delphi
             Status: Complete

        Description: Getting a range check error if a null string is passed
                     in.

         Correction: Added a check to detect the nul string and to gracefully
                     handle it.


   3)   Entry Title: CtrlBttn - Getting stack overflow in overloaded copy of
                     OwnerDrawBMP
      Area Affected: Delphi
             Status: Complete

        Description: Getting a stack overflow from the overloaded routine
                     STROwnerDrawBMP when it is called.

         Correction: Found that the call to the array of char copy had a
                     mistake in the params so this routine was recursively
                     called instead.


   4)   Entry Title: ListView control - blows up when the mouse is scrolled.
      Area Affected: Delphi
             Status: Complete

        Description: Getting a numeric overflow from the ListView code
                     (SageLV) when the mouse is scrolled using the wheel.

         Correction: Found that the wheel handling routine did not work the
                     way the code had been converted.  The logic had to be
                     altered slightly in order to convert a value to integer
                     correctly.


June 19, 2006

   1)   Entry Title: Sage.ResetAllRelationPaths - Need a routine to handle
                     setting all paths at once.
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need a routine that will handle setting all relation
                     paths at once.  This would be handy for allowing multiple
                     folders of data customized to individual themes for an
                     application.

         Correction: Added the routine Sage.ResetAllRelationPaths.  This
                     routine handles the need plus has a flag to control how
                     the error related to a relation already being open is
                     handled.


June 05, 2006

   1)   Entry Title: FileUtil.ReplaceFileAndExtension - Name changed
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: For consistency the name of this routine should be
                     changed.

         Correction: Changed the name to ReplacePrefixAndExtension to be more
                     consistent in the terms.


   2)   Entry Title: FileUtil - Need a routine to generate unique filenames
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need a routine that will return a guaranteed unique file
                     name that is currently not in use.

         Correction: Added the routine GetUniqueFilename.  With this routine
                     you can generate a filename that is currently not in use
                     and can be unique either in the prefix, the suffix or
                     both portions of the name.


June 02, 2006

   1)   Entry Title: SetLib - Several bugs corrected in multiple routines.
      Area Affected: Delphi
             Status: Complete

        Description: Several routines are not functioning correctly in Delphi.

         Correction: Found several logic errors introduced in code that had to
                     be reworked when converted from M2 to Delphi.


   2)   Entry Title: StringsX.SliceAssign - Added a routine that handles slicing
                     strings.
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need a routine that handles string slicing elegantly.  In
                     some languages this is supported already (i.e. Ada and
                     M2) but in Delphi it is more difficult where we use the
                     array of char type.

         Correction: Added a routine that elegantly handles slicing and
                     assigning those slices to other strings.


   3)   Entry Title: GdiPrint - Corrected problem in calculating printable
                     string size.
      Area Affected: Delphi
             Status: Complete

        Description: Corrected a problem related to finding out how much text
                     will print in a given rect.

         Correction: The problem was intruduced in a code change necessary
                     when converted from M2 to Delphi.


May 30, 2006

   1)   Entry Title: CtrlLV - Corrected problem with colors being corrupted.
      Area Affected: Delphi
             Status: Complete

        Description: The colors are being corrupted when the user proc is
                     called and inside there a call to CtrlLV.SetColor is
                     done.

         Correction: Found that global variables being used to hold the color
                     selections were being overwritten when SetColor was
                     called.


   2)   Entry Title: Toolbar - Getting an overflow error.
      Area Affected: Delphi
             Status: Complete

        Description: Getting an overflow error from the toolbar code when the
                     toolbar is created.

         Correction: Found that when converted from M2 to Delphi an incorrect
                     typecast was made which caused the overflow.


   3)   Entry Title: FldFlags - String too short to contain field name with
                     repeats
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Getting an array too short message out of FldFlags.

         Correction: Found a local variable that was not long enough to hold a
                     field name when repeat values were also specified.


May 19, 2006

   1)   Entry Title: SageSpec - Added a CFM file extension constant
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need a .cfm file extension constant for Cold Fusion
                     files.

         Correction: Added the .cfm constant.


   2)   Entry Title: BMPLib - Made the CreateDIBPalette routine exported.
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: The routine BMPLib.CreateDIBPalette needs to be callable
                     by other modules.

         Correction: Moved the formerly internal only routine CreateDIBPalette
                     into the spec file so its visible by other modules.


May 17, 2006

   1)   Entry Title: StringsX - Assign, NulFill, BlankFill - added SageError if
                     destination strings were too short
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Sometimes when these routines were called the destination
                     string was too short.  In the case of Assign the success
                     flag was set to false but that was all.  For NulFill and
                     BlankFill nothing was done except to copy over as much
                     of the string as possible and then just quietly throw the
                     rest of the string away.

         Correction: Added the popup of SageErrs.ArrayToSmall if the
                     destination string is too short.  This was added for the
                     routines Assign, NulFill, BlankFill, Insert, Substring
                     and Concat.


May 15, 2006

   1)   Entry Title: CmndLine - Getting too much info back on the command line.
      Area Affected: Delphi
             Status: Complete

        Description: The routine CmndLine.GetCommandLine is returning too much
                     information on the command line.  It is supposed to
                     return just the command line arguments but in Delphi it
                     is returning the name of the executable also.

         Correction: Note - This is a Delphi only problem.  Corrected the
                     algorithm to return the same way that it does in all
                     other languages.


Version released at this point: 6.3.1.0005

April 27, 2006

   1)   Entry Title: Date Fields - Getting an invalid format error when data put
                     into date fields
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: When data is put into a date field, including valid data,
                     an error is generated stating that the field is the
                     wrong format.

         Correction: As can happen sometimes there were actually two errors
                     down in SageST.  Both were present but were a 'silent'
                     type error that didn't cause a noticable popup or data
                     corruption.  A few days back one of them was uncovered
                     and corrected prior to the last release.  That correction
                     caused the second error, when it occurred, to become a
                     pop up error that was not noticable.  The second error
                     just had not been encountered during testing before the
                     release went out.  At this point both errors should be
                     fixed and all working again.  Both errors involved a
                     string containing a date but also containing stray
                     characters out at the end of the string because it had
                     not been properly nul filled before being sent to the
                     checking routine.  A new check put in to watch for that
                     type of thing after the first error was discovered caused
                     this error to manifest now.


Version released at this point: 6.3.1.0004

April 17, 2006

   1)   Entry Title: SageErrs - Added an error 148 which is InvalidStringFormat
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: An error 148 was added to the current SageErrs list.

         Correction: This error will be used in SageST to designate a general
                     violation of an expected string format when no other
                     particular error fits the situation.


   2)   Entry Title: TimeLib - Corrected an error where junk was showing up in a
                     string
      Area Affected: M2
             Status: Complete

        Description: Getting junk showing up in the return value of
                     Date0ToDate9.

         Correction: Found that a string instead of being completely nul
                     filled was only getting set to a single nul character.
                     This caused problems later when the rest of the string
                     was returned.


April 11, 2006

   1)   Entry Title: InfoLib.CharacterIsValid - Routine would always return False
      Area Affected: Ada. M2, Delphi
             Status: Complete

        Description: The InfoLib.CharacterIsValid routine always returns
                     false.  This was first noticed in an edit control when
                     the validate character function was turned on.

         Correction: Found that this routine had an error introduced into it
                     when converted from the DOS code to the full DLL code.
                     Previously the routine Modula-2 had to been a function
                     that also had var parameters.  When the system was
                     consolidated to be fully DLL code this could not be
                     allowed.  When this routine was changed a bug was
                     introduced.  The validation was performed but instead of
                     exiting the logic fell through to the bottom of the
                     routine where it always defaulted to a false value.


April 04, 2006

   1)   Entry Title: Sage - Added new routines to get data in string format
      Area Affected: Delphi
             Status: Complete

        Description: Added new routines called GetFieldStr and GetFieldStrX to
                     get data much the way that GetFieldA does but these are
                     functions that return the string value.

         Correction: These routines help in the situation where you are trying
                     to get data from a field and load it into a Delphi edit
                     control.  This is a simple way to load the .Text property
                     of the control.


March 16, 2006

   1)   Entry Title: STBackup - Added routines to allow for not using the
                     registry
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need routines that do not depend on the registry to store
                     data.

         Correction: Renamed the existing routines by adding the work Registry
                     on the front.  Then added two new routines using Ini as
                     the prefix.  The new routines require the name of a .ini
                     file which will be used to store the information about
                     the current back process.


Version released at this point: 6.3.1.0003

February 22, 2006

   1)   Entry Title: SGK - PCX and Graphics packages renamed
      Area Affected: M2, Delphi
             Status: Complete

        Description: In the SGK library the packages PCX and Graphics were
                     found to conflict with Delphi packages of the same name.

         Correction: The package PCX was renamed to SGKPCX and the package
                     Graphics was renamed to SGKGraphics.  This was done
                     across all languages to keep consistency across all
                     languages.  It would create maintenance headaches to have
                     the same code named one thing in one language but a
                     different name in another.


February 13, 2006

   1)   Entry Title: Thor - Fixed subschema compilation problem
      Area Affected: Thor
             Status: Complete

        Description: Getting an error and imcomplete compilation of a dfl if
                     using a subschema.

         Correction: Found and corrected a logic error related to earlier fix.
                     Earlier fix was compiling a subschema on one drive when
                     Thor installed on different drive.


   2)   Entry Title: Program - Renamed this module to ProgramX
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: The module Program has been renamed to ProgramX.

         Correction: The module name could not be Program as this conflicts
                     with a key word in Delphi.  To keep consistency across
                     the SageST library the module was renamed in all
                     languages to ProgramX.



Version released at this point: 6.3.1.0002

January 05, 2006

   1)   Entry Title: Random - If using 64 bit numbers would throw a range
                     violation
      Area Affected: Delphi
             Status: Complete

        Description: If using 64 bit numbers (floating point) the Random
                     routine could throw a range violation.

         Correction: Found that internally an incorrect call was made to a
                     routine that takes cardinal params instead of 64 bit.  If
                     the value exceeded 32 bits a range error was thrown.


January 04, 2006

   1)   Entry Title: Type 15 fields (binary) values cannot be set in some cases.
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: The type 15 fields (binary) will not set the value if
                     certain byte values are encountered in the binary value.

         Correction: Corrected a problem if the binary value started with a 0
                     byte value.


November 28, 2005

   1)   Entry Title: StringsX.GetNextItem
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need a routine to parse out items from a list in the form
                     of a string.

         Correction: Added the routine GetNextItem.  If a string is formatted
                     with seperator characters this routine can pull out each
                     item of the list.


November 14, 2005

   1)   Entry Title: Thor - Compiling subschemas on drive different from where
                     Thor resides fails
      Area Affected: Thor
             Status: Complete

        Description: If the SRC file is on a different drive from where Thor
                     resides when you compile a subschema it will fail.

         Correction: Found that the subschema name was built including the
                     path but not the drive designation.  So when it tried to
                     find that path it was looking on the wrong drive.


   2)   Entry Title: GDI - Not showing a relations data correctly.
      Area Affected: GDI
             Status: Complete

        Description: A particular relation will not show the data correctly in
                     GDI.

         Correction: Found that this relation did not have a key field defined
                     for it at all.  It was being used to hold a single
                     record and didn't use a key.  GDI just did not handle
                     that well and would not correctly position on the record
                     in order to show the data.


November 02, 2005

   1)   Entry Title: Sage.GetXHandleRelation - New routine to find relation
                     associated with an XHandle
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need a new routine to recover the name of the relation
                     that is associated with a given XHandle.

         Correction: Added the routine GetXHandleRelation.  An XHandle is
                     passed in and the name of the relation associated with
                     this handle is returned.


   2)   Entry Title: Sage.GetKeyPositionX - New routine to retrieve the index
                     position of the XHandle record.
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Need a new routine to return the index position of the
                     record that is associated with the XHandle.

         Correction: Added the routine Sage.GetIndexPositionX.  This routine
                     returns the index position of the record that is
                     currently associated with the XHandle.


   3)   Entry Title: Thor - When using the F2 key on a form it would abort
      Area Affected: Thor
             Status: Complete

        Description: When the F2 key is used Thor aborts.

         Correction: Found that it was a combination of things, specifically
                     having a one character field sitting at the first
                     position of the second row that caused some logic to
                     generate a value of -1 for a cardinal.


October 13, 2005

   1)   Entry Title: SortList - Not sorting correctly if a positiveSort type
                     list is opened.
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: If a sort list is opened with the positiveSort type
                     defined for it then it will not sort correctly.

         Correction: Found that a global variable and a local variable had
                     been named the same but depended on case sensitivity to
                     keep them seperated.  A change made them the same so the
                     logic ended up not setting a value correctly in the
                     global which caused the sorting mechanism to fail only on
                     this type of sort.


   2)   Entry Title: Thor - Dfl's containing dialogs and windows may not work
                     correctly
      Area Affected: Thor
             Status: Complete

        Description: Dfl's that contain dialogs and windows my not run
                     correctly.

         Correction: Found that any version of Thor dated from 01/19/2005 to
                     10/12/2005 may contain this error.  Due to a problem in a
                     lower level library where a case sensitive dependancy
                     between the name of two variables became undone any dfl
                     compiled during the listed dates may not work.  Note that
                     the dfl MUST contain dialogs and windows and in fact
                     probably should contain several of those in order for
                     this problem to be evident.  The rest of the dfl (i.e.
                     relations, forms, etc.) is fine, the problem will exist
                     only in the objects.  The problem is that a directory
                     (list) of the objects buried inside the dfl may not be
                     sorted into proper order.


   3)   Entry Title: Configure - Has memory leaks
      Area Affected: Configure
             Status: Complete

        Description: Memory leaks are listed in its memory log.

         Correction: Found and corrected the problem.  An extra line telling
                     the menu to refresh at the wrong time caused a leak.


   4)   Entry Title: GdiW - Memory leaks
      Area Affected: GdiW
             Status: Complete

        Description: Memory leaks are listed in its memory log.

         Correction: If you changed the data folder it did not properly clean
                     up some pointers before evaluating the new folder.


   5)   Entry Title: SDI - Not performing a data dump if used in batch mode
      Area Affected: SDI
             Status: Complete

        Description: If SDI is used interactively it correctly dumps a report
                     as a data dump file.  However if called in batch mode it
                     adds other elements to the output.

         Correction: Found a logic error that caused it to think it was doing
                     a normal report print rather than a data dump when used
                     in batch mode.  So the output was a file that contained
                     report elements other than just the data.  Corrected the
                     problem so that it will correctly either print a report
                     or data dump depending on the report options settings
                     even when called in batch mode.


October 12, 2005

   1)   Entry Title: SageErrs - Added a new error 147 which is an array bounds
                     violation
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Added a new SageError value of 147, array bounds
                     violation.

         Correction: This error represents a request to violate the bounds of
                     an array.  Some of the SageST code can do processing on
                     an array and if it overruns the end of the array it will
                     not necessarily cause the application to raise an array
                     exception.  This new error was added along with code to
                     do checking for these conditions and raise this error
                     before getting into that situation.  An example of this
                     checking and error can be found in the SetLib code.


   2)   Entry Title: ModSys - Added a CalcMod routine to hide direct use of the
                     MOD operator
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Added a routine called ModSys.CalcMod to hide the direct
                     use of the MOD operator.

         Correction: Using the MOD operator directly does not work well if the
                     code is to be ported between the Ada, M2 and Delphi
                     languages.  The MOD operation works slightly different in
                     Delphi so the answers you get back are not the same.  If
                     you use this routine instead then the answer you get
                     back from the calculation will always be the same in all
                     languages.  Inside the Delphi version of this routine we
                     do the adjustment necessary to make the answer the same
                     as you would get in the other languages.


   3)   Entry Title: SetLib - Added checks to assure not running over array
                     bounds
      Area Affected: Ada, M2, Delphi
             Status: Complete

        Description: Currently SetLib routines did not check for array bounds
                     problems and could easily overwrite memory.

         Correction: Added an array bounds check before calling the code that
                     could overwrite memory.  If the number sent in is going
                     to cause an array bounds violation then a Minor Error of
                     147 is popped.


September 28, 2005

   1)   Entry Title: GDIW - Fixed memory leak
      Area Affected: GDIW
             Status: Complete

        Description: Found a memory leak caused by deallocating the relation
                     list short by one entry.

         Correction: Deallocated the same number of entries as relations.


   2)   Entry Title: Thor - Multiple memory leaks
      Area Affected: Thor
             Status: Complete

        Description: Multiple memory leaks detected from the tracking file.

         Correction: One global variable used to try and track the allocations
                     of eleven different buffers.  Eventually the size
                     variable was reused and that caused the buffer to not be
                     deallocated later.  Declared individual variables to
                     track each buffer.


September 15, 2005

   1)   Entry Title: Sage.GetFieldB - if SageError set before this routine
                     called then return value incorrect
      Area Affected: Ada, M2
             Status: Complete

        Description: If SageError has been set before GetFieldB was called the
                     return value of the routine may be compromised.

         Correction: Corrected the logic to ignore the previous SageError when
                     calculating the return value of the routine.  Note that
                     this affected only the M2 and Ada libraries, Delphi was
                     unaffected.

        
      

 

January - December 2005 Changes

 

January - December 2004 Changes

 

January - December 2003 Changes

 

January - December 2002 Changes

 

January - December 2001 Changes

 

October - December 2000 Changes

 


Send mail to: warren.merrill@inl.gov with questions or comments about this web site.
Copyright © 1989-2006 Battelle Energy Alliance