|
|
|
|
Version released at this point: 6.04.0004
December 09, 2002
1) Entry Title: Thor - Would like the field list loaded when the relation
editor comes up
Area Affected: Thor
Status: Complete
Description: Would like to have the field list loaded when the
relation editor is started to save having to click twice
(once to load and once to open) on each relation to see
its field list.
Correction: When the relation editor is selected it will start
loading each relation and its field data. It will
continue this for three seconds (an arbitrary pick but
about as long as someone will be patient). If it does
not complete the load within that time it will abandon
loading the field information and just finish loading the
relations. The relations that are fully loaded will
start with the + sign to the left of their name. Those
that did not load will not have the +. Any of those that
didn't get loaded in that time will still load when they
are clicked on just as they have always done.
2) Entry Title: Thor - Concat fields without subfields should generate
warnings
Area Affected: Thor
Status: Complete
Description: If a field is added or modified with a 0 type (Concat)
and no subfields have been defined that should
immediately generate a warning. Also at compile time
those fields should be identified since they are probably
a mistake.
Correction: Added checks and warnings. During the Add/Modify of a
field if this condition is detected it will pop up a
warning that must be acknowlegded by the user. During
compile time those fields are also identified in the
listing file and added to the Cautions list.
December 06, 2002
1) Entry Title: SDI - Getting file handle errors
Area Affected: SDI
Status: Complete
Description: Getting file handle errors.
Correction: Found a place where a closed handle was being closed
again. Also some tweaking to ensure that SDI can still
be run in batch mode without user intervention. One
recent change had caused a screen to pop up even in batch
mode. If run in batch mode and print is selected then
it will take the file destination first for the report.
If that is blank then it will select the print
destination. If that is also blank the report will not
be printed.
December 05, 2002
1) Entry Title: Sage - PutFieldI can fail without setting SageError
Area Affected: Ada
Status: Complete
Description: This affects the Ada library only. PutFieldI can fail
without setting SageError. There are two components to
getting this error 1) you must be doing a PutFieldI to a
target field which is type Alpha, Upper Case Alpha or
Alpha Num and 2) the number of digits of the value being
sent to the field is EQUAL TO or greater than the number
of digits the field can hold. It has always failed if
the value is larger than the field but a change
introduced on Aug. 8, 2002 caused it to also fail if the
value was the same size as the field. If the value is
smaller than the field then the put will succeed.
Correction: To accomodate more types being sent to the routine there
was a slight change in how it translates the values to
the field. That change introduced this error. The error
is present in the following builds: 6.03.0004,
6.03.0005, 6.03.0006, 6.03.0007, 6.04.0001, 6.04.0002 and
6.04.0003 and any special builds during that same time.
2) Entry Title: Thor - Relation with password stops rebuild list
Area Affected: Thor
Status: Ignore
Description: If you have a relation with a password and do not enter
the password before selecting the .DFL file the list of
relations stops when it hits that relation.
Correction: Corrected by later work on Rebuild. This bug report is
now void.
3) Entry Title: Thor - SRC file name disappears under All Objects and Fix
options
Area Affected: Thor
Status: Ignore
Description: Selecting either of these options causes the name to
disappear from the bottom of the screen.
Correction: A later fix may have corrected this. It does disappear
briefly but comes back once the option is exitted.
4) Entry Title: Thor - Would like a visual clue when relation has non
standard keys
Area Affected: Thor
Status: Complete
Description: Because the use of non standard keys can have an impact
on the performance of an application it would be nice if
Thor would give a visual clue when a relation has these.
Correction: Thor has been enhanced so that on the relation edit
dialog the list of relations will have a different icon
if the relation has non standard keys. If the small box
that usually shows a line of color at the top next to the
relation name has a red diamond in the center of it the
relation has a keyed field that is using non standard
values of KeysPerNode = 20 and NodesInCore = 5. When the
field list for that relation is opened the icon next to
the field name will be a gray F with a red diamond in the
center of it. Note that during editting the field icon
will stayed in sync with the status of that field. If a
field is added with non standard values or is changed to
standard values the field icon changes. If it is changed
to non standard the relation icon is changed. However
it would be cumbersome to try and check when a field is
changed to standard and reset the relation since it would
have to search through all the fields of that relation
each time a change is made. So for now the only behavior
that may not be in sync is that the relation icon may
show as non standard even if all the fields have been
corrected. The icon will be changed the next time the
relation editor is started.
December 04, 2002
1) Entry Title: Strings - FormatString routine corrupting string if single
digit which is 0
Area Affected: Strings
Status: Complete
Description: The FormatString routine is corrupting the string if it
is a single character long and that character is a 0.
Returns the string as all dashes for the size you
specified.
Correction: Found and corrected some logic that was trying to strip
off leading 0's before formatting the string as specified
by the input parameters.
2) Entry Title: Various - Found that UNC paths were not being handled
Area Affected: Ada, M2
Status: Complete
Description: Found that UNC (Universal Naming Convention i.e.
\\MyServer\MyDirectory\Test.fil) names were not being
handled correctly in Sage. Most noticable is that there
was no way to open a file if it is pathed this way, the
open will fail.
Correction: Added code to detect and handle these this format.
During this change I discovered that the routines
DosLib.CurrentDrive, DosLib.SelectDrive and their
equivalent routines in DiskLib do not always work
correctly in Win32. In fact once you put the UNC names
in the mix these routines are not valid for Win32. So
they have been removed from the Win32 libraries. To find
you where you are you should use
DosLib.GetCurrentDirectory (in Dos this only returns the
directory, in Win32 it returns the full path) and to
change locations you should use DosLib.ChangeDirectory.
These routines will perform the same actions but in a
safer and more consistent manner in both X32 and Win32
modes. Because the DosLib package was already being
touched I included another change requested by some
users. The parameters to the routines in DosLib where
the address of a string was being sent in have been
changed to accept the string itself. This seems to be a
more intuitive way of passing these params plus in Win32
mode I can do more checking to avoid problems. When the
address of the string is all that is passed there is no
way for me to know if when I assign long values back to
them if I am overrunning the string or not.
December 03, 2002
1) Entry Title: Thor - SubSchema dialog needs to behave correctly when read
only or no subschemas
Area Affected: Thor
Status: Complete
Description: The subschema edit screen has several things that need to
be cleaned up. When the SRC is read only or when there
are no subschemas defined there are buttons and controls
active that should not be.
Correction: Cleaned up the behavior of the dialog. When the SRC is
read only the only active control is the close button.
When there are no subschemas defined the only buttons
available are the close and the add. Once there are
subschemas defined then the other buttons appear to allow
editting of the existing subschemas.
December 02, 2002
1) Entry Title: Thor - Escape key not active in some DOS screens
Area Affected: Thor
Status: Complete
Description: The escape key is not working in some DOS screens.
Correction: Found that the escape key was not turned on if you
started Thor and went directly to either the Keyboards or
Views DOS edit screens and went to add or modify an
item. If you had been in the Forms screen before this it
had turned the escape key on so you would be okay.
2) Entry Title: Sage - PutField and FieldChk or CheckLib used together can
cause incorrect SageError to return
Area Affected: Sage
Status: Complete
Description: By default doing a PutField triggers the FieldCheck
routine to be called unless the Sage.CheckPutField
routine has been used to turn it off. This is a correct
behavior. However during the FieldCheck routine if the
user has defined code to call another Sage routine that
sets SageError (such as 112 error coming from a
ReadRecord) the original PutField routine will end up
returning the global value of SageError (which in this
case is 112). This is not correct. There are four
components to producing the error: 1) using any of the
PutField routines when 2) you have not changed the
default behavior by using the Sage.CheckPutField routine
and 3) the app is also using the FormChk intercept
routine and 4) using any calls back to the Sage package
inside of FieldCheck. If your app meets those conditions
then you should pick up this correction. Remember that
this is triggered by the PutField routine so even if you
are using a Win32 interface you could still get this
problem if you are still using FieldCheck to validate
values. Note that this not only returns an incorrect
SageError value but the PutField will also fail to load
the field
Correction: The problem stems from the internal use of SageError as
an error parameter to other internal routines. Declared
some local params to push into the routines so that they
return locally the correct error setting of the
particular routine. Then SageError is set from those
return values so that the routine is returning the true
SageError value of its own actions. The prior use of the
global variable SageError allowed for cross
contamination of the value by other routines while the
first routine was still processing.
3) Entry Title: FileUtil - Could use some file comparison routines
Area Affected: Ada, M2
Status: Complete
Description: Could use some routines to do file comparisons for
equality.
Correction: Added the routines FileUtil.FilesTextEqual and
FileUtil.FilesBinaryEqual. These routines check files to
find if the contents are equivalent.
4) Entry Title: Thor - DOS edit functions can cause main Thor window to be
hidden upon return
Area Affected: Thor
Status: Complete
Description: If during the use of the DOS EDITING windows of Thor
(Forms, Keyboards, Menus, Views) the main window of Thor
ended up behind another app window when you exit the edit
window Thor's main window is still hidden. It should be
brought back up to the top because of touching the edit
window.
Correction: Added code to pop the main window back to the top upon
exit of the DOS item edit windows.
November 27, 2002
1) Entry Title: DosLib - GetVersion routine returns inconsistent results
Area Affected: Ada
Status: Complete
Description: GetVersion routine is returning inconsistent results when
called.
Correction: Found that the variables were uninitialized. Could get
to the end of the routine and only one of four variables
would have a reliable setting.
2) Entry Title: ErrorLog - Need to localize so routines behave correctly in
DLL use
Area Affected: Ada, M2
Status: Complete
Description: Need to localize the package so that the routines get the
values they need (Log file name, show date, show time)
as parameters instead of relying on global values.
Currently the values are set into global variables by
using routines. That practice is not safe in a DLL
environment where multiple applications could be trying
to use the package at the same time.
Correction: Added a param to let the user pass in the values each
time. Removed the routines that were no longer
necessary. They were SetDateStamping, SetTimeStamping,
GetLogFile, SetLogFile and SetLogStatus.
3) Entry Title: Sage - Should log Fatal and Minor errors to file if the
flags prevent showing the errors
Area Affected: Ada, M2
Status: Complete
Description: If the Fatal or Minor flags prevent the errors from being
popped up they should be logged to a file so at least
there is a record that errors are being thrown by the
application.
Correction: Added code to detect this condition. When this happens
the error entry is now written to a file called
STSUPRES.LOG. In addition there are four new routines
added to the SageErrs package to support this. Using
these routines you can check the current settings of the
flags and turn them on/off. Fatal and Minor logging are
controlled individually so one or both can but turned
on/off the same as the display settings of the errors.
The new routines are SageErrs.GetFatalLoggingFlag,
SageErrs.LogFatalErrors, SageErrs.GetMinorLoggingFlag and
SageErrs.LogMinorErrors. I might suggest that if you
turn off display of both types and you are inclined to
also turn off logging that you might consider leaving
Fatal logging on even if you turn Minor off. If Fatal
errors are being thrown by your application you really
should now about it.
November 26, 2002
1) Entry Title: CtrlLV - Need correction so that scroll mouse affects the
vertical scroll instead of horizontal
Area Affected: Ada, M2
Status: Complete
Description: In the ListView control the scroll mouse scrolls the
horizontal axis of the control. The expected action
would be that it affects the vertical operation of the
control.
Correction: Corrected so that the wheel of the mouse is controlling
the vertical scrolling axis of the control.
2) Entry Title: GDIView - Need a way to go to a particular page in viewer
Area Affected: GDIView
Status: Complete
Description: Need a way to go to a particular page in the viewer. If
you have large reports with hundreds or thousands of
pages it gets clumsy to find a particular page in the
middle of the report.
Correction: Added several navigation aids. Added extra menu and
button items called skips. They allow the user to skip
through the records using a distance that can be defined
by them. For instance using a menu option they can set
the skip to 10. Then when the skip items are selected
the advance/retreat through the records ten at a time.
The skip factor can be set to any value from 1 to 1000.
Also added a Goto menu and button item. When this is
selected a small dialog pops up and the user enters a
page number. The viewer is then taken directly to that
page number.
3) Entry Title: SageList - Add ability to control scrolling using a wheel
mouse
Area Affected: Ada, M2
Status: Complete
Description: Need the ability to control scrolling using the wheel of
the mouse.
Correction: Added control of vertical scroll with the mouse wheel.
4) Entry Title: Thor - Would like to not generate GDL file each time in
reports
Area Affected: Thor
Status: Complete
Description: Would like to have a comparison and if the GDL file is
current with the report file do not generate it each
time.
Correction: Added a check and if the GDL is newer than the report
file it is not regenerated.
November 25, 2002
1) Entry Title: Thor - Would be nice if the report name would default to
last used
Area Affected: Thor
Status: Complete
Description: Would be nice if the report name would default to the
same name as was last used. Most of the time reports are
just generated again to the same file.
Correction: Added a save/retrieve of the report name. The value is
saved to the project's INI file.
2) Entry Title: GDIPrint - Need to define an empty record type for the
ViewRecord
Area Affected: GDIPrint
Status: Complete
Description: Need to define an "Empty" type for the ViewRec. This can
be used for easy initialization of variables declared of
this type.
Correction: Added a type that is the Empty initial values for a
variable of this type.
3) Entry Title: Profile - Missing from the Ada side
Area Affected: Profile
Status: Complete
Description: The profile package exists in the M2 side but is missing
from Ada.
Correction: Updated the documenation for the package. Added a
Success param for the GetToken and PutToken routines.
Added the package to the Ada library.
4) Entry Title: GDIPrint - ASCIIToGDL not converting some line draw
characters
Area Affected: GDIPrint
Status: Complete
Description: The routine ASCIIToGDL is not converting any of the
double line or single/double line combination characters.
Correction: Added code to detect and correctly convert all line draw
characters.
5) Entry Title: Thor - Need a better message about the report file not
existing
Area Affected: Thor
Status: Complete
Description: Need a better message about the report file not existing.
Currently comes out as a message that ASCIIToGDL has
encountered a problem converting the file.
Correction: Added a check and an exact message indicating that the
current report file does not exist.
November 22, 2002
1) Entry Title: Thor - SRC Options modify window should never block changes
Area Affected: Thor
Status: Complete
Description: The SRC options dialog should never block changes even if
the SRC is read only. The reason is that all the
changes from this screen are written to a local .INI file
which should not be read only. Allowing changes here
has no effect on the SRC.
Correction: Removed the warning message and stopped making the
controls read only when the dialog is entered.
November 21, 2002
1) Entry Title: CtrlRich - The LoadData routine does not work correctly at
the Object level
Area Affected: Ada, M2
Status: Complete
Description: If the LoadData routine is called from the object level
it does not work correctly.
Correction: Found that the response flag was not getting set. Added
code to check if the user did send something back and set
the flag so that the data will be used by the control.
2) Entry Title: CtrlRich - Need param to show how large data can be when
sent to control
Area Affected: Ada, M2
Status: Complete
Description: Need a way to know how large the data buffer can be that
is sent to the control when it is set for User data.
Correction: Modifed the GetDataPosition routine to be a procedure
instead of a function. Also added a parameter that
returns the max size the the buffer can be when passed to
the load routine. Added code to the load routine to
detect if the buffer is larger than allowed and to only
take the data up to the max size. The rest of the data
will be ignored. Previously it ran over the end of the
buffer and clobbered memory.
3) Entry Title: CtrlRich - ForceSave routine does not save for User data
type
Area Affected: Ada, M2
Status: Complete
Description: The ForceSave routine does not save for any type other
than Sage data type. It will not save for User data type
or File data type.
Correction: Modified to also save for the User data type. Did not
turn on for File data type. If needed that will require
additional testing time to assure that function will work
correctly.
November 20, 2002
1) Entry Title: Sage - CopyRecord should ignore concat fields
Area Affected: Ada, M2
Status: Complete
Description: Sage.CopyRecord should not copy the concat fields. They
are built when the other fields are copied so this is
just extra time taken for no reason. Also it might
corrupt the field value under certain conditions.
Correction: CopyRecord modified to ignore concat fields during the
copy.
2) Entry Title: GDIPrint - Would like print progress messages when printing
is busy
Area Affected: Ada, M2
Status: Complete
Description: Would like to have messages showing the progress when
printing. Currently it just seems to hang until
printing completes.
Correction: Added a message showing 'Printing Page [N]' while
printing is working. This message is turned on/off by a
flag passed into the routines.
Version released at this point: 6.04.0003
November 20, 2002
1) Entry Title: GDI - Need messages during global change
Area Affected: GDI
Status: Complete
Description: Need to use messages to let the user know how the change
is progressing especially on large relations.
Correction: Added messages to show progress during the change.
November 19, 2002
1) Entry Title: Btree - Type casting problem causing index locating to not
work
Area Affected: Ada
Status: Complete
Description: Problem is manifested in that GetKeyPosition may not
return the correct values.
Correction: Found a type cast that accidentally converted a negative
number in a for loop to a positive value. This caused
the loop to execute when it should not have. This bug is
present in the following version: 6.02.0001, 6.03.0001,
6.03.0002, 6.03.0003, 6.03.0004, 6.03.0005, 6.03.0006,
6.03.0007, 6.04.0001 and 6.04.0002. It was introduced
into the code on July 3, 2002. If you have any of these
versions or the special builds during that time and you
are using the GetKeyPosition call (from either Sage or
MultSage) I highly recommend that you get this update.
In any of those version the GetKeyPosition routine is
unreliable.
Version released at this point: 6.04.0002
November 18, 2002
1) Entry Title: ODBC - Goes into infinite loop
Area Affected: ODBC
Status: Complete
Description: There is an infinite loop in CloseRelation.
Correction: Corrected infinite loop in CloseRelation for
restrictList.
November 14, 2002
1) Entry Title: Thor - Check for block field/file discrepancy during compile
Area Affected: Thor
Status: Complete
Description: Would like some checks during the compile of a .DFL file
to warn if there are discrepancies in the settings of
block data fields and the persistent fileset they are
assigned to.
Correction: Added checks to determine the status of block data fields
and the persistent fileset during compilation. You can
get one of three warnings from the checks. 1) You have
a block data field in the relation but the relation is
not persistent (assigned to a fileset) 2) You have a
block data field but you do not have a block file listed
for that relation 3) You have a block file listed for
that relation but the relation does not contain a block
field.
November 13, 2002
1) Entry Title: FileUtil - Need routine to do a non case sensitive test of
a file extension
Area Affected: Ada, M2
Status: Complete
Description: Would like a routine that can do a NON case sensitive
comparison to see if a file has a given extension (i.e.
.ads, .exe, .res, etc.)
Correction: Added the routine FileUtil.FilenameExtensionIs which
takes a file name and an extension (with or without the
'.') and returns a boolean value representing if that
extension is on this filename. The comparison is NOT
case sensitive.
2) Entry Title: CtrlList - Need to allow larger strings values to be passed
to the control
Area Affected: Ada, M2
Status: Complete
Description: Need to allow larger strings to be passed to the control.
Currently limited to 256 characters.
Correction: Sage List Box now uses a string buffer of type
SageListBoxString having a size of 512. It used to use
StandardString which was size 256.
November 12, 2002
1) Entry Title: BTree - Constraint error on large index
Area Affected: Ada
Status: Complete
Description: Getting a constraint error when using a large index file
(greater than 180,000 records ).
Correction: Two variables needed to have their types converted before
doing the math operation on them. Otherwise the
resulting value overflows the capacity of the variable
type.
2) Entry Title: Thor - Persistence button should show if read only, Window
editor should warn
Area Affected: Thor
Status: Complete
Description: The persistence button should show even if the SRC file
is read only. Also the Window editor should give
warnings if the SRC is read only, that changes will not
be kept.
Correction: Persistence button now shows up. The Window editor gives
a warning on entry and upon exit if the SRC is read
only.
November 11, 2002
1) Entry Title: Various - Need to use constants for file extensions for
consistancy
Area Affected: Ada, M2
Status: Complete
Description: Need to use constants for the value of file extensions.
Found a place where a lower case version of the
extension was being assigned but later the upper case
version was being searched for in a string.
Correction: Added constants to represent the extensions in SageSpec.
All instances changed to use the constant value for
assignments and searches.
2) Entry Title: InfoLib - Should check and pop up Fatal and Minor errors
from FieldEmpty and FieldBlank
Area Affected: Ada, M2
Status: Complete
Description: The routines FieldEmpty and FieldBlank should do the
Fatal and Minor error pop up if an error is set in the
routine.
Correction: Added code to check for errors and do the standard pop up
messages.
3) Entry Title: GDI - Global search and replace on data would be a nice
feature
Area Affected: GDI
Status: Complete
Description: Would be nice to have a global search and replace feature
to use in changing field values.
Correction: Added a basic search and replace. May need some
additional checking or work to handle various field types
but for now is functional on alpha fields.
November 08, 2002
1) Entry Title: FileUtil - SplitPath routine does not handle if path
contains a '.' character
Area Affected: Ada, M2
Status: Complete
Description: The SplitPath routine will not correctly split a name if
the path contains a '.' character.
Correction: Found and corrected the problem. Added flag to indicate
the the extension of the file had already been located.
2) Entry Title: Thor - Browse for file during copy, buttons should be
grayed out
Area Affected: Thor
Status: Complete
Description: When doing the browse for an SRC to copy from the buttons
on the copy dialog should be disabled.
Correction: Added code to disable the buttons while the browse dialog
is up.
3) Entry Title: Sage - CompareFieldA failing if values such as '--' used
for the compare
Area Affected: Ada, M2
Status: Complete
Description: The CompareFieldA routine does not return correct results
if values such as "--" are used as the comparison on
Integer fields.
Correction: Found multiple problems with the routine. It would fail
if you sent in a null string. If you sent in strings
representing the 'empty field' it would fail (i.e.
----/--/-- for a date). Whenever a failure occurred it
returned False but in many cases SageError was also set.
However I don't think most people ever checked
SageError coming off the routine so most people just
assumed the False value to be correct. Besides fixing
the routine to handle most cases reliably now I corrected
one additional problem. Many of the SageErrors that
were being set and returning fell in the category of
Fatal or Minor. However the routine was missing the
check before it exited to pop those errors up to the
user. That was added not only to this routine but to
all the other CompareField[something] routines also. If
you have been using CompareFieldA mostly on Alpha fields
and sending values it (not null strings) then you should
not see any change in this routine. However for those
users passing in null strings or using this routine with
any other field type I suggest that you get this update.
4) Entry Title: Thor - Not handling SRC names with spaces or '.' in the
path in the copy utility
Area Affected: Thor
Status: Complete
Description: If an SRC name is used that has spaces or dots in the
path it is not recognized in the copy utility (as the
source SRC to copy from).
Correction: Replaced all code that was starting at '0' of string and
going forward looking for a '.' character. Once found it
always assumed that was the start of the file extension.
Most places tried to loop and parse the path
themselves. Changed all places to call the
FileUtil.SplitPath routine. Also when trying to build
file names with a different extension changed all those
places to call FileUtil.ReplaceExtension. Those routines
are standard code that knows how to handle spaces or
dots embedded in the path to the file.
5) Entry Title: FileUtil - Should use two strings for ReplaceExtension
routine
Area Affected: Ada, M2
Status: Complete
Description: The ReplaceExtension routine should use two string params
so that an original name can be passed in but not
modified.
Correction: Added the param.
November 06, 2002
1) Entry Title: Environment - Package is missing from the HTML documentation
Area Affected: Ada
Status: Complete
Description: The Environment package is missing from the Ada HTML
documentation.
Correction: Added the necessary stuff so that this package is
included when the HTML documenation is generated.
2) Entry Title: SortMrg - Using more than one handle at a time causes wrong
callback routine to be called
Area Affected: Ada
Status: Complete
Description: When the Init routine is called the callback routine is
assigned to a global variable. If you try to use more
than one handle at a time the last callback routine
Inited is the one called no matter what handle is used.
Correction: Added a field to the handle so that each handle carries
the value of the callback routine to use when that handle
is being processed.
Version released at this point: 6.04.0001
November 04, 2002
1) Entry Title: Thor - Errors handling readOnly file, closing a file
Area Affected: Thor
Status: Complete
Description: Thor gives a warning that you cannot modify the SRC if
you try to close a file that was opened as read only.
Closing a file without exiting Thor leaves all the menu
and button items grayed out and disabled. After closing
an SRC there are still messages on the bottom of the main
window reporting the number of Relations, Forms, etc.
that the SRC had.
Correction: Put in code to guard against the change flag being
modified when the file is read only. Added code to
correctly set the menu and buttons after closing an SRC.
Added code to clean up the status bar line after closing
an SRC. Added code to gray out the relation and field
edit controls when the file is read only.
2) Entry Title: ObjCalendar - Blows up on last day of month if prior month
shorter
Area Affected: Ada, M2
Status: Complete
Description: Blows up with an exception if executed on the last day of
a month when the prior month does not have that many
days.
Correction: One place tried to just replace the month number with the
previous month and then send that into a routine. The
problem was that they did not adjust the day number so if
the current month had 31 days and the previous month
only had 30 it would blow up. The day value did not
matter to this routine other than being valid so I just
changed the day to be 01 in all cases for this call.
3) Entry Title: WinReports - Need a routine to set RTF footer tab stops
Area Affected: WinReports
Status: Complete
Description: Would like a routine so that tab stops can also be used
in the footer part of RTF documents.
Correction: Added a routine called WinReports.RTFSetFooterTabStops.
October 30, 2002
1) Entry Title: Thor - Copy relations results in a handle error popping up
Area Affected: Thor
Status: Complete
Description: When relations are copied a message indicating a handle
error will pop up.
Correction: Found where a variable that tracked the status of a file
handle (opened or closed) did not get set to the proper
state when the file was closed.
2) Entry Title: GDIPrint - Added param to know if user aborted the printer
dialog
Area Affected: Ada, M2
Status: Complete
Description: Need to have a parameter that will tell the calling
routine if the user did actually print the log or not.
Correction: Added a parameter of OpenSuccess to the OpenPrinter
routine. This can be False when the user clicked the
Cancel button on the printer dialog. On the PrintLog
routine added a parameter called Printed to tell the
calling routine if the user did follow through and
printed the document.
3) Entry Title: ObjCalendar - Should be able to send in dates for Get
routines
Area Affected: Ada, M2
Status: Complete
Description: Would like to be able send in a date to the new Get
routines of ObjCalendar.
Correction: Used to ignore whatever was sent in for dates. Now uses
the passed in date and sets the calendar to that spot
initially. User must still click any date (including the
passed in date) to have it selected however.
October 29, 2002
1) Entry Title: MultSage - Relation opens with 108 error, call to
RelationIsOpen returns wrong
Area Affected: Ada, M2
Status: Complete
Description: If the MultSage.OpenRelation call returns error 108
(VersionConflictIndex) then subsequent calls to
MultSage.RelationIsOpen return False. This is not
correct, they should return True.
Correction: Found a check coming off the OpenRelation that did not
allow anything except 0 to qualify the relation as open
as far as MultSage was concerned. In Sage either the 0
result or a 108 (VersionConflictIndex) still qualifies as
the relation being open. Modified the check to allow
the 108 also. Now with getting a 108 on the
MultSage.OpenRelation call a subsequent call to
MultSage.RelationIsOpen will return True.
October 28, 2002
1) Entry Title: Version Change - Now 6.04
Area Affected: Sage Version
Status: Complete
Description: Version needs to be changed due to changing both
compilers (Ada and M2) to new versions
Correction: Sage version is now 6.04. First build will be 6.04.0001
2) Entry Title: ObjCalendar - Needs one call routines for easy use of
calendar object
Area Affected: Ada, M2
Status: Complete
Description: Need to have routines that are one simple call to use the
calendar object.
Correction: Added two routines. They are GetSingleDate and
GetDateRange. These are a simple one call to use the
calendar object to get either a single date or a date
range.
October 16, 2002
1) Entry Title: GDIPrint - Eating the character after a FormFeed char is
found
Area Affected: Ada, M2
Status: Complete
Description: The GDIPrint.AsciiToGdl routine eats the character
immediately following a form feed character.
Correction: Found a counter that was tracking the position on the
line was being incremented when it should not be.
2) Entry Title: Toolbar - Getting a NIL pointer error
Area Affected: Ada, M2
Status: Complete
Description: Getting a NIL pointer error. A dialog is being
displayed in the main proc of a window before the window
comes up. That window does have the toolbar on it.
Correction: Added code to check a pointer before using it. The
pointer was still NIL because of the window not being up
yet.
October 15, 2002
1) Entry Title: Sage - GetFieldA has a NIL pointer problem
Area Affected: Ada, M2
Status: Complete
Description: If passing a bad field name and then telling the error
message to not abort you experience a NIL pointer
problem.
Correction: Found and corrected the NIL pointer. Now it passes
through without aborting.
Version released at this point: 6.03.0007
October 10, 2002
1) Entry Title: MultSage - Some code appears to not be needed
Area Affected: Ada, M2
Status: Complete
Description: Looks like some unneeded code in MultSage. For some
reason when the OpenRelation is called it opens the
relation and if successful it closes it and then reopens
it again. That appears to serve no useful purpose at
all and slows down processes using MultSage considerably.
Correction: Took out what appeared to be unneeded code. Testing
after removing the code did not reveal any problems and
did show an increase in execution speed, especially in
areas that are opening multiple relations
2) Entry Title: SDI - Should use GDL technique for SageTerm printing
Area Affected: SDI
Status: Complete
Description: Should use the GDL technique for printing in SageTerm
mode.
Correction: The printing of the report when the SageTerm version of
SDI is used has been changed to use the
GDIPrint.AsciiToGdl technique. Now the user is presented
with a visual page showing the report and from that they
can print to a desired Windows printer
3) Entry Title: SortList - Need this package on the Ada side
Area Affected: Ada
Status: Complete
Description: Need to add the SortList package to the Ada side.
Correction: Added to the Ada library. This library is probably not
for general use (although it can be) but it had to be
added to support another new library
4) Entry Title: WinReports - New function needed in Sage
Area Affected: Ada, M2
Status: Complete
Description: Need a new library called WinReports to support doing
reports in Windows.
Correction: Added the library. This is a first cut at a possible
replacement for the old form based Reports package.
With this library you can define the layout of a report
(later we hope to add a visual tool also) and then save
that layout. Then the layout can be used to generate
reports in RTF or HTML output. CAUTION - This library is
very rough right now and could be changed quite a bit
before it is generally usable
October 09, 2002
1) Entry Title: CmndLine - GetCommandPair overwrites memory if command
values long
Area Affected: Ada, M2
Status: Complete
Description: CmndLine.GetCommandPair crashes and/or overwrite memory
if the passed in strings are not large enough to contain
the values found on the command line.
Correction: Added checks to guard if the strings are too short. Also
added code to make it a Minor error pop up if that
happens.
2) Entry Title: Thor - Not handling if the path to the SRC contains a '.'
Area Affected: Thor
Status: Complete
Description: Thor does not handle it properly if the path to the SRC
contains a '.' character.
Correction: Added code to handle a '.' in the path of the SRC. It
used to chop the name off at that point thinking that it
was the start of the file extension.
October 07, 2002
1) Entry Title: HTML - Need new library to support creation of HTML
documents
Area Affected: Ada, M2
Status: Complete
Description: Need a new library to support creation of HTML documents.
Correction: Library created, tested and added to both M2 and Ada
libraries. This library provides calls to create HTML
output files.
October 03, 2002
1) Entry Title: GDIPrint - Need LinesPerPage param to control SetFixedFont
Area Affected: Ada, M2
Status: Complete
Description: Need a LinesPerPage param for the SetFixedFont routine.
This would allow better control of the font size when it
is created.
Correction: Added a LinesPerPage parameter to the
GDIPrint.SetFixedFont routine. Using the CharsPerLine and
the LinesPerPage params the user can now control the
size of the font that will be allocated. The resulting
font when printed will exactly fit the values specified.
2) Entry Title: Thor - Convert printing to AsciiToGdl routine
Area Affected: Thor
Status: Complete
Description: The printing should use the AsciiToGdl routine from
GDIPrint.
Correction: Removed the setting for LinesPerPage that had recently
been put in. The printing has been changed over to use
the AsciiToGdl routine from GDIPrint. By doing this I
needed to internally set the number of lines for it to
come out right. The new method now gives a much nicer
report preview and the printed reports look more
'Windows' like. Reports with a large number of pages can
take a few seconds to convert before the viewer comes up
so be patient
3) Entry Title: Thor - Message not visible enough during report generation
Area Affected: Thor
Status: Complete
Description: Need to change the message display when generating
reports so that it comes up as a separate pop up message.
Currently they display on the status bar and are not
easily visible.
Correction: Changed the message display when generating reports so
that it comes up as a separate pop up message. The
message is now very prominent.
4) Entry Title: GDIPrint - Need more hatch types
Area Affected: Ada, M2
Status: Complete
Description: Need to add the additional hatch types to GDIPrint that
are available from StonyBrook.
Correction: Additional types add to the GDIPrint package/
October 02, 2002
1) Entry Title: GDIPrint - Text moves around while zooming in/out
Area Affected: Ada, M2
Status: Complete
Description: Text does not stay in the correct positions while zooming
up and down.
Correction: Fixed several small bugs in the GDIPrint library, mostly
in the viewer. When zooming up and down the text will
now stay in its correct position much more closely
2) Entry Title: GDIPrint - Changed version number on GDL files
Area Affected: Ada, M2
Status: Complete
Description: Need to change the version number of the GDL files due to
changing some of the structures stored inside.
Correction: Version number in the files incremented. Unfortunately
this means that any existing files cannot be opened now
in the current version. However I don't think this will
be a problem for most people as I don't believe that
files are being saved. Contact me if this is not the case
and you have an important file that must be saved.
3) Entry Title: Sage - ReadRecordX routines sometimes do not return correct
SageError
Area Affected: Ada, M2
Status: Complete
Description: ReadRecordX routines do not return the correct SageError
sometimes.
Correction: Found a call that was resetting the SageError before
returning. Added code to save and correctly set
SageError before leaving the routine.
4) Entry Title: GDIPrint - Need routine to convert ASCII to GDL format
Area Affected: Ada, M2
Status: Complete
Description: Need a routine to convert ASCII text to GDL format.
This would allow easy conversion of existing reports to a
Windows look and feel.
Correction: Add a new routine called GDIPrint.AsciiToGdl. This
routine allows you to convert an existing ASCII file
(possibly a report written to an ASCII file by the
Reports package or using BufIO) into GDL format. The GDL
format is used by the GDIPrint library to view/print data
in a Windows friendly manner. This is an easy method of
converting existing DOS reports to a Windows environment
including viewing and printing using techniques very
much like other Windows programs. NOTE - This still
relies on you outputting the reports to the ASCII file.
This helps you AFTER that point to be more Windows like
in previewing/printing the content of the file. This
does NOT get you away from using the Forms and the
Reports package to generate the report
September 25, 2002
1) Entry Title: LinkList - Initialize routine should be in the DLL
Area Affected: M2
Status: Complete
Description: The LinkList.Initialize routine should be in the Dll.
Correction: Added the routine LinkList.Initialize to the Dll by added
it to the EDF file.
2) Entry Title: ODBC - Should pull out of regular installation and be in
own install
Area Affected: Installation
Status: Complete
Description: Need to pull the ODBC driver out of the regular
installation set. It should be in its own installation
set available on the download page of the web site
Correction: Pulled the ODBC driver out of the regular installation
set. It is now in its own installation set available on
the download page of the web site.
September 19, 2002
1) Entry Title: RTF - Opening and then closing a file generates an
incorrect file
Area Affected: Ada, M2
Status: Complete
Description: If you open a file and then close it without ever doing a
write it generates an incorrect file which was missing a
closing brace
Correction: Found and corrected the problem. Needed an extra check
for this condition in order to include the missing brace.
September 18, 2002
1) Entry Title: ODBC - Limits user to only 20 relations total
Area Affected: ODBC
Status: Complete
Description: There appears to be a limitation of 20 total relations
that can be accessed.
Correction: Found and removed the limitation that restricted the
opening of tables to 20 or fewer. This restriction
stemmed from earlier version's attempt to speed up access
to the data. There is currently no restriction on the
number of relations that can be opened.
2) Entry Title: Strings - FormatNumberString sometimes does not zero fill
correctly
Area Affected: Ada, M2
Status: Complete
Description: Sometimes the Strings.FormatNumberString routine returns
with the number string not zero filled as the user had
requested.
Correction: Found a mistake where it could get out before calling the
zero fill part of the routine.
September 16, 2002
1) Entry Title: RTF - Needs a GetHandleState routine
Area Affected: Ada, M2
Status: Complete
Description: Needs to have a GetHandleState routine. This routine
would be used to check if the current handle is opened or
closed.
Correction: Added a new routine called RTF.GetHandleState. This
routine is called in order to check the current state
(opened or closed) of a handle.
2) Entry Title: BufIO - Needs checking and reporting of Handle errors.
Area Affected: Ada, M2
Status: Complete
Description: Needs to have handle checking added. It should detect
and report the minor errors of SageErrs.HandleAlreadyOpen
(50) and SageErrs.HandleAlreadyClosed (51).
Correction: Added checking to properly detect and report the minor
errors of SageErrs.HandleAlreadyOpen (50) and
SageErrs.HandleAlreadyClosed (51). Previously it would
have hit those when it used calls to the Files package
but that was after it had done some processing into each
routine. The new checking will test this at the start
of each routine and not allow further processing if the
handle is invalid.
3) Entry Title: RTF - Needs to have handle checking included
Area Affected: Ada, M2
Status: Complete
Description: Needs to have handle checking added similar to how BufIO
and Files works.
Correction: Added handle checking. It will now detect and report the
minor errors of SageErrs.HandleAlreadyOpen (50) and
SageErrs.HandleAlreadyClosed (51).
September 12, 2002
1) Entry Title: Thor - Needs a browse button on the Compiler Environment
field
Area Affected: Thor
Status: Complete
Description: Needs to have a browse button on the Compiler Environment
field of the SRC setup screen.
Correction: Added a browse button to the Compiler Environment field
of the SRC setup screen.
2) Entry Title: Thor - Should not default in names for the symbol and res
files.
Area Affected: Thor
Status: Complete
Description: Should not default in names for the symbol and res files.
For people doing only DOS development this does not
apply and if not caught will cause an annoying warning
message to pop up on subsequent opens of the SRC.
Correction: Changed the SRC setup screen so that it does not default
in names for the symbol and res files. Subsequent opens
of the SRC will not pop up the warning screens now
because the values (blank) will be okay.
September 11, 2002
1) Entry Title: Thor - Sometimes does not ask to save even if changed
Area Affected: Thor
Status: Complete
Description: Sometimes it does not ask if you want to save even if
there have been obvious changes.
Correction: Found and fixed a couple of leaks that let it slip past
asking.
2) Entry Title: Thor - Compression of filesets leaves old fileset data
still in SRC
Area Affected: Thor
Status: Complete
Description: Even though Thor detects and compresses out the unused
filesets it still leaves that old fileset data in the
SRC. Would be nice if a Repair/Compress of the SRC
could be scheduled to clean out that info.
Correction: When you enter the relation editor it does a check to see
if there are gaps in the fileset list. If there is it
automatically compresses out those spaces. The code to
compress those filesets down to a contiguous list was
fine but I added code so that if that happens it will
also do a repair of the SRC which deletes those now empty
fileset entries
3) Entry Title: HyperTxt - Much slower since the last release
Area Affected: Ada, M2
Status: Complete
Description: HyperTxt seems to be much slower since the last release,
especially doing searches.
Correction: Fixed a slowdown problem when in search mode in HyperTxt.
Some recent changes to keep the systems from eating up
all the processor resources when running under Windows
had caused the problem. After checking this area a
little closer I determined that the additional code could
be removed in this one place. This restored the former
search speed.
4) Entry Title: HyperTxt - Highlighting not in correct position
Area Affected: Ada
Status: Complete
Description: Since the last release there seems to be a problem with
the position of highlighted items. The highlighting is
off to the side of what it should be over.
Correction: Found that the problem was related to the recent Modsys
type tightening. A set of parens used to do type
casting had been incorrectly placed causing a calculation
error.
5) Entry Title: GDI - Chopping off field contents, especially on date fields
Area Affected: GDI
Status: Complete
Description: GDI seems to be chopping off the display of date fields
on the last digit.
Correction: Found and corrected the mistake where it chopped one
character off from the end of the displayed field
contents, especially in date fields.
6) Entry Title: Thor - Option to do automatic Repair/Compress on exit
Area Affected: Thor
Status: Complete
Description: Would like the option of having Thor do an automatic
Repair/Compact of the SRC as you are about to exit (and
if there have been changes).
Correction: Added an option to have Thor do an automatic
Repair/Compact of the SRC as you are about to exit (and
if there have been changes). This setting by default is
on. You can change this setting by using the File - SRC
Setup options on the menu and unchecking the box. The
Repair/Compact occurs just after initiating the exit and
just before the Save - Yes/No dialog comes up. If you
notice a few seconds delay during that time that is what
is taking place. I would have liked to put it after you
answer yes but because of the way it was put together
originally that would have been a much more complicated
process.
7) Entry Title: Rebuild - Getting modify permission errors on rebuilding
Area Affected: Rebuild
Status: Complete
Description: Getting relation modify errors during rebuild. Probably
related to new enforcement of the Modify param of the
OpenRelation call.
Correction: In some cases the relation it was working on was opened
as read only. Since the new checks were put in that
enforce the modify parameter of the OpenRelation call
this caused an error to show up when you told rebuild to
go ahead and rebuild the index of that relation. Changed
the OpenRelation to use Modify = True.
September 10, 2002
1) Entry Title: Various - Need more checking on file handles
Area Affected: M2
Status: Complete
Description: There are a few places where file handles don't seem to
be checked fully and currectly before use.
Correction: Added more code to ensure that file handles are properly
initialized before using in a couple of places.
September 09, 2002
1) Entry Title: TimeLib - New routines to convert Fractional dates
Area Affected: Ada, M2
Status: Complete
Description: Would like routines to convert to/from Fractional Dates.
A fractional date has the format yyyy.ffffff (i.e.
January 27, 2001 would be 2001.071233). Fractional dates
are calculated by taking the offset number of days into
the year (i.e. January 01 is 0, January 02 is 1, etc.)
and dividing by the number of days in that year. For a
normal non leap year such as 2001 the date January 01 is
2001.000000, January 02 is 2001.002740, December 31 is
2001.997260, etc). In a leap year the divisor is
slightly larger (366 instead of 365) so the decimal
digits are slightly different for those same days.
Fractional dates are routinely used by NASA.
Correction: Added two new routines to TimeLib called
TimeLib.Date0ToFractional and TimeLib.FractionalToDate0.
September 05, 2002
1) Entry Title: STRegistry - New routine to Save/Retrieve position values
in the registry
Area Affected: Ada, M2
Status: Complete
Description: Need new routines in STRegistry to help people save and
retrieve typical position values for dialogs and windows.
Correction: Added two new routines called
STRegistry.RetrievePositionValues and
STRegistry.SavePositionValues. Saving the position and
size of a window or dialog so that the next time it is
displayed it can be restored to those values is a very
common task in Windows. Almost always those values are
stored in the registry so these routine have been
provided for your convenience to accomplish that task
2) Entry Title: WinTools - New routines for CreateDirectory, DeleteDirectory
Area Affected: Ada, M2
Status: Complete
Description: Need new routines in WinTools. They would be called
WinTools.CreateDirectory, WinTools.DeleteDirectory and
WinTools.DeleteSubdirectories.
Correction: Added new routines to WinTools. They are called
WinTools.CreateDirectory, WinTools.DeleteDirectory and
WinTools.DeleteSubdirectories. These routines use Win32
calls to accomplish the task hence the reason they are
in a Win32 only library
3) Entry Title: CtrlLV - New routines to help with positioning
Area Affected: Ada, M2
Status: Complete
Description: Need new new routines in CtrlLV. They would be
CtrlLV.CalculateTopRow, CtrlLV.AdjustAndHighLightRow and
CtrlLV.ResetAndHighlightRow.
Correction: Added new routines to CtrlLV. They are
CtrlLV.CalculateTopRow, CtrlLV.AdjustAndHighLightRow and
CtrlLV.ResetAndHighlightRow. The task accomplished by
these routines can be performed by a series of calls to
CtrlLV but these routines encapsulate those and are
provided for your convenience.
4) Entry Title: Window - New routine to get the window position
Area Affected: Ada, M2
Status: Complete
Description: Need a new routine to get the position of the window.
Correction: Added a new routine to Window called
Window.GetWindowPositionInfo. This routine is used to
find the current coordinates and size of a window
5) Entry Title: Dialog - New routine to get the dialog position info
Area Affected: Ada, M2
Status: Complete
Description: Need a new routine to get the dialog position
information.
Correction: Added a new routine to the Dialog package called
Dialog.GetDialogPositionInfo. This routine is used to
find the current coordinates and size of a dialog.
September 04, 2002
1) Entry Title: ODBC - Test for compliance with SQL-92 minimum standard
Area Affected: ODBC
Status: Complete
Description: Test that the ODBC driver is in compliance with the SQL
minimum grammer standard for SQL-92.
Correction: Established the SQL minimum grammer standard for SQL-92.
Other SQL statements are active, available and seem to
work but the minimum set is all that have been tested to
any great extent. The minimum set includes the following
SQL statements: CREATE TABLE table-name (col-id
data-type [, column-id data-type]...) DELETE FROM
table-name [WHERE search-condition] DROP TABLE table-name
INSERT INTO table-name [(col-id [,col-id]...)] VALUES
(value[,value]..) SELECT [ALL|DISTINCT] select-list FROM
table-list [WHERE search-condition] [order-by-clause]
UPDATE table-name SET col-id = {expression|NULL} [,col-id
= {expression|NULL}]... [WHERE search-condition.
2) Entry Title: ODBC - Problem with creating and dropping tables
Area Affected: ODBC
Status: Complete
Description: There seems to be a problem with creating and dropping
tables.
Correction: Found and corrected the problem. NOTE: This capability
is limited to cases where the Sage-ST schema source file
(.SRC) is available and in the same directory as the
schema definition file (.DFL). Otherwise, access to
existing data will be lost because the tables will no
longer be defined in the definition file. In order to
add or drop tables an new definition file (.DFL) is
created from the source file.
3) Entry Title: ODBC - Gets error opening DFL with latest version of Sage.
Area Affected: ODBC
Status: Complete
Description: The ODBC driver needs to be brought up to a newer version
of the C++ compiler. It has to be recompiled to use
the latest version of SageST in order to get rid of an
error when opening the DFL.
Correction: The ODBC driver was upgraded to compile using a more
modern compiler, Visual C++ 5.0. This change was
required to upgrade the driver to work with the new
Sage-ST schema definition format.
4) Entry Title: ODBC - Getting an error due to enforcement of the Modify
param of OpenRelation
Area Affected: ODBC
Status: Complete
Description: Getting an error that emerged when using the new Sage-ST
DLL that enforces the read/write indicator flag on
OpenRelation calls.
Correction: Corrected the problem. Needed to do a Modify = True on
the OpenRelation.
August 28, 2002
1) Entry Title: Thor - Need to control the number of lines per page on
reports
Area Affected: Thor
Status: Complete
Description: Need to be able to control the number of lines per page
that are used on reports.
Correction: Added an edit control (with buddy) that shows you the
setting for Lines Per Page on report generation. The new
ability to print to a printer is simply handing the
ASCII text file to a printer. Because this is not yet a
true Windows report being generated directly to the
printer, it tends to look different on various printers
(mostly that each page of data will be too long or too
short for that printer). The new control allows you to
set the number of Lines Per Page that will be best for
the printer you are using. You can type in the value or
use the buddy to increment and decrement it. The value
is saved in the registry so the next time you come back
that setting is the one that you will see until you
change it.
August 22, 2002
1) Entry Title: Thor - Print reports directly from reports screen
Area Affected: Thor
Status: Complete
Description: Would like an option to print reports directly from the
reports dialog.
Correction: Added a print button to the reports screen of Thor. The
report being generated still goes to a local file as it
always has. You can select as many different things as
you choose to report on but once you select either the
print button or the Exit button the local file is closed.
If you click the print button then the Windows common
dialog for selecting a printer is shown.
Version released at this point: 6.03.0006
August 21, 2002
1) Entry Title: SDI - Would like more Windows like printing in SageTerm mode
Area Affected: SDI
Status: Complete
Description: Would like more Windows like printing in SageTerm mode of
SDI. Currently it acts like a DOS app and wants a
local LPT1 or PRN printer. That used to work well in a
pure DOS environment where a printer was almost always
attached directly attached to the machine. However it
was recently brought to my attention that this did not
work well where the machine was a workstation on a
network which is much more common now.
Correction: Now the report is generated to a local file and then one
of two methods is used. If you are using the X32 version
of SDI it will attempt to do a "COPY /B [LocalFile]
[PrinterName] [great than symbol] nul" where LocalFile is
the temp file name I use and PrinterName is the name
listed in the Options for that report. PrinterName might
be values such as LPT1, PRN or whatever you need for your
situation. For instance under Windows if you want to
print from a workstation to a network printer then use
the command "net use LPT1: \\[computerName\shareName]
/persistent:yes" so that any reference to PRN will be
captured to the network printer. This only needs to be
done one time if you set persistent to yes. Then inside
SDI set PRN as the Printer Name in the defaults for your
report. SDI will copy the local temp file to PRN which
will direct it to the network printer. The second method
of printing is used if you are using the SageTerm (Win32)
version of SDI. It still generates to a local file but
then it will pop up the Windows printer selection dialog.
You can select the desired printer from that dialog
and the report will be sent to that printer using the
WinPrint.PrintFile routine in Sage. In this second
method the setting for Printer in the defaults is
ignored.
2) Entry Title: SDI - Need more capability to print to file and printer
Area Affected: SDI
Status: Complete
Description: Would like to split the definition of where you want to
send a report. With only one setting you can specify a
file name or a printer. When you hit the Alt/P option
it goes to that destination. Would be nice to have two
options set to the preferred printer and the preferred
file. Then when the report is generated pop up and ask
the user where to go. Now they have to go all the way
back and reset the field if they want to change.
Correction: Added a new field to split the definition of where you
want to send a report. One a file name and the other a
printer name. Now when the Alt/P option is selected a
screen pops up asking if you want to send to printer or
file. Whichever choice is made the corresponding
destination is used. This allows switching between
sending to file or printer without going all the way back
to change the setting.
3) Entry Title: SDI - Printing to file still includes the printer codes
Area Affected: SDI
Status: Complete
Description: When sending the output report to a file the printer
codes are still inserted. Would like to have just a
plain ASCII file.
Correction: When sending the output report to a file the insertion of
the printer initialization codes at the top and bottom
of the file are now removed.
August 20, 2002
1) Entry Title: WinPrint - Should not give option for printing selected text
Area Affected: Ada, M2
Status: Complete
Description: The WinPrint.PrintLines routine pops up the Windows
common dialog for selecting a printer. On that dialog it
gave the option to print only the selected text however
that routine does not show you the text prior to
printing. That option should not be shown.
Correction: The print selected text option is now grayed out when the
dialog is shown.
August 19, 2002
1) Entry Title: Sage - Under Win32 still eating up processor waiting for key
Area Affected: M2
Status: Complete
Description: Looks like there is another place where the processor
resources are eaten while waiting for a key. Need to
insert the delay code to stop this from happening.
Correction: Found and inserted the delay statement where it had been
missed. This is so that under under Windows the app does
not consume most of the processor resources while
waiting for a key press.
August 16, 2002
1) Entry Title: SageErrs - Move logical routines to this package
Area Affected: Ada, M2
Status: Complete
Description: Should move routines logically belonging to the SageErrs
package into that package. They include
Sage.GetFatalErrorFlag, Sage.DisplayFatalErrors,
Sage.GetMinorErrorFlag and Sage.DisplayMinorErrors.
Correction: Moved the routines Sage.GetFatalErrorFlag,
Sage.DisplayFatalErrors, Sage.GetMinorErrorFlag and
Sage.DisplayMinorErrors to the SageErrs package. This
makes better logical sense to have these routines grouped
together in the same package that contains the error
constants and definitions.
2) Entry Title: Sage - Removed routine Sage.SetFatalErrorFlag
Area Affected: M2
Status: Complete
Description: The routine Sage.SetFatalErrorFlag appears to be a
duplicate of the SageErrs.DisplayFatalErrors routine. It
needs to be removed.
Correction: Removed the routine Sage.SetFatalErrorFlag. This must
have been an old name for the same routine that is now
called SageErrs.DisplayFatalErrors. It was a complete
duplicate of this routine except for the routine name.
Removed because of its redundancy. This routine did not
exist in the Ada side
3) Entry Title: MultSage - Need routine to return Modify status of relation
Area Affected: Ada, M2
Status: Complete
Description: Need a new routine to match the one added recently to
Sage. It would be called MultSage.RelationOpenForModify.
Correction: Added a new routine to MultSage to match the one added
recently to Sage. It is called
MultSage.RelationOpenForModify.
August 15, 2002
1) Entry Title: TimeLib - Need standard routine to calculate leap years
Area Affected: Ada, M2
Status: Complete
Description: Need a standard routine to calculate leap year so users
can call it. Calculating a leap year is NOT as simple as
dividing by 4. This routine would do the correct
calculation and return the result.
Correction: Added a new routine to TimeLib called IsLeapYear which
returns a boolean value to show if a given year would be
a leap year. In Ada it is overloaded to accept either a
string or a Modsys.S_Natural. In M2 the two routines are
called TimeLib.IsLeapYearCard and TimeLib.IsLeapYearStr.
August 14, 2002
1) Entry Title: Thor - Escape key during compile causes hang
Area Affected: Thor
Status: Complete
Description: If the escape key is hit during the compile the dialog
goes away but the compile continues and then the user is
trapped in an endless loop waiting for the OK button to
be pressed. Since the dialog has been terminated the
user can never get to the button.
Correction: Added code to capture someone hitting the escape key
while compiling a Dfl.
2) Entry Title: Thor - Copy messages should be enhanced to indicate progress
Area Affected: Thor
Status: Complete
Description: Some of the message should be enhanced during copy
operations. Currently the message says it is copying but
on large numbers of items it appears that the process
may be hung until it suddenly completes. Would be nice
to have messages that indicate better if progress is
being made.
Correction: Added messages that show what item is being worked on
while copying. These messages give a visual clue as to
what is taking place.
August 13, 2002
1) Entry Title: WinTools - Need routine to call the common font dialog
Area Affected: Ada, M2
Status: Complete
Description: Need a routine in WinTools to call and display the
Windows Common Font dialog.
Correction: Added a routine to WinTools called WinTools.GetAFont.
This routine puts up the Windows Common dialog for
selecting a font.
2) Entry Title: CtrlLV - Need more control over hiding/showing grid lines
Area Affected: Ada, M2
Status: Complete
Description: Need functions to help with hiding/showing grid lines and
with cell fonts and colors.
Correction: Added several functions to CtrlLV to allow multiple fonts
and colors to be used in the sage ListView and the use
of grid lines. CtrlLV.SetItemFont,
CtrlLV.SetItemFontColor, CtrlLV.SetHeaderFont,
CtrlLV.ShowGridlines, CtrlLV.HideGridlines. A new
message (CtrlLv.GetCellFont) is also sent to allow the
user to change the font for each cell.
3) Entry Title: CtrlLV - Would like functions to turn on/off the ... when
data is wide
Area Affected: Ada, M2
Status: Complete
Description: Would like the ability to turn on or off the dot dot dot
feature when a cells text is longer than the cell.
Correction: Two functions were added to CtrlLV to allow the user to
control this behavior. They are CtrlLV.TurnOnDotDotDot
and CtrlLV.TurnOffDotDotDot.
4) Entry Title: CtrlLV - Need a routine to check what font is currently
used by the control
Area Affected: Ada, M2
Status: Complete
Description: Need a function in CtrlLV to allow the user to determine
the current font in use by the ListView.
Correction: Added the requested function to CtrlLV. The routine is
CtrlLV.CurrentFont.
5) Entry Title: RTF - Would like the ability to use colors
Area Affected: Ada, M2
Status: Complete
Description: Would like routines added that will give the ability to
use colors in the RTF files.
Correction: Added three functions to RTF to allow the user to use
multiple colors. They are RTF.RegisterColor,
RTF.SetColors and RTF.SetTableColor.
6) Entry Title: WinTools - Need routines to handle a Mutex
Area Affected: Ada, M2
Status: Complete
Description: Would like routines to help with using a Mutex (mutually
exclusive object).
Correction: Added two routines to WinTools to handle a Mutex
(mutually exclusive object). They are WinTools.GetMutex
and WinTools.ReleaseMutex. A mutex is used to control
access when multiple processes need to share a resource
(such as a database) without allowing simultaneous access
to the resource.
Version released at this point: 6.03.0005
August 12, 2002
1) Entry Title: Sage - Need routine to return Modify status of the relation
Area Affected: Ada, M2
Status: Complete
Description: Need a routine to return how the relation was opened
regarding its Modify status.
Correction: Added a routine called Sage.RelationOpenForModify. This
routine lets you check how a relation was opened (read
only or modify). The relation must be open before calling
this routine or it will cause SageError to be set.
2) Entry Title: Sage - Would like a routine that returns key names (Alt/K,
etc.)
Area Affected: Ada, M2
Status: Complete
Description: Need a routine that can return the names of keys. You
would pass in key codes and it will return a string with
the name of the key represented by those codes (i.e.
"Alt/K", "Ctrl/H", "a", "Z", etc.).
Correction: Added a new routine called Sage.GetKeyName. This does
the function described.
3) Entry Title: Sage - Need routines for getting/putting field pointers
Area Affected: Ada, M2
Status: Complete
Description: Need routines to get and put field pointers.
Correction: Added two new routines called Sage.GetFieldPointer and
Sage.PutFieldPointer. They allow you to get the actual
value of a block data field (not the block data itself,
just the pointer). These routines should only be used
when you have a thorough understanding of how block data
works and then only when you have some special condition
that makes this necessary. There is a project that needs
this, that is why they were added. Most projects would
probably never need these routines
4) Entry Title: Convert - Any string value greater than 32_767 converts to 0
Area Affected: Ada
Status: Complete
Description: Any string containing a value greater than 32_767 will
convert to a value of 0.
Correction: Corrected an error in Convert that affected the StrToInt
routines. Any string containing a value greater than
32_767 will convert to a value of 0. This was first
reported when the Sage.GetFieldI routine started
exhibiting this behavior so obviously that routine will
also not work without this correction.
Version released at this point: 6.03.0004
August 08, 2002
1) Entry Title: FixLib - Routines to control messages missing in M2 side
Area Affected: M2
Status: Complete
Description: Found two routines that exist in the Ada FixLib that are
missing in the M2 side. They are HideMessages and
ShowMessages.
Correction: Added the two routines to the M2 side. They are
HideMessages and ShowMessages. Using these routines you
can turn on/off the messages that show while a
FixLib.Restructure is running.
2) Entry Title: FixLib - Need routines that are easier to do rebuilding
check before opening relation
Area Affected: Ada, M2
Status: Complete
Description: Would like to have routines that can do a check and
automatic rebuild of relations before you try to open
them. Should allow checking one or all relations and
automatically find the old file if needing a version
rebuild.
Correction: Added four new routines to FixLib. They are
FixLib.OpenedRepairRelation,
FixLib.OpenedRepairAllRelations,
FixLib.ClosedRepairRelation and
FixLib.ClosedRepairAllRelations. These routines are a
high level way of checking if relations need to have an
index rebuild or a restructure before you use them. By
using the combination of the four routines you can either
check a single relation or all relations for a Dfl. You
can also do this check with the Dfl either opened or
closed. If any relation is found to need one of the
actions performed on it then these routines will try to
find the matching old Dfl file and restructure and/or
reindex the relation so that it is current. These
routines would probably be called at the start of an
application to check and fix the data files before
opening the system and getting into the logic of the
application.
August 02, 2002
1) Entry Title: SageSCUp - Need additional categories for setting types
Area Affected: Tools
Status: Complete
Description: Sagescup needs additional categories in order to
correctly set the Ada Modsys types encountered.
Correction: Sagescup has been enhanced with additional features. Now
when asked the questions before it processes the files
there will be eight categories to set. The suggested
setting for most people is still to answer 'Y' to all
questions. When it processes a file for the first time
it stuffs in the 'use type Modsys.S_........' lines.
Without going into a LOT of logic of figuring out what it
will eventually change the types to it simply includes
the lines for all the general types. Sagescup has been
enhanced now so that on subsequent passes through the
files it will check to see if these lines are needed and
will put a comment at the end of the line if it is not.
The comment will look like this 'use type
Modsys.S_Integer16; -- This line may not be needed'.
I'll leave that up to you to pull those lines out since
I'm not completely confident that I might not pull that
line out and for some reason it was still needed.
2) Entry Title: Various - Convert parameters to standard types S_Natural
and S_Integer
Area Affected: Ada
Status: Complete
Description: Parameters in Cache, Display, InfoLib, ProgCmnd, SageOpt,
ThorPort, Random, MenuLib, DBLoad and SGK should be
converted to use standard Modsys.S_Natural and
Modsys.S_Integer.
Correction: Paramters changed in the listed packages.
3) Entry Title: Call_Dummy - Should be removed completely
Area Affected: Ada
Status: Complete
Description: The package Call_Dummy should be removed. It is an
obsolete leftover of the Dos 16 bit days.
Correction: The package has been removed. It was an obsolete
leftover of the Dos 16 bit days.
4) Entry Title: Sage - Should remove obsolete routines GetFieldLF and
PutFieldLF
Area Affected: Ada
Status: Complete
Description: The routines Sage.GetFieldLF and Sage.PutFieldLF should
be removed. They are easily replaced by overloading
Sage.GetFieldF and Sage.PutFieldF routines.
Correction: The routines have been removed. They are replaced by the
overloaded Sage.GetFieldF and Sage.PutFieldF routines.
July 30, 2002
1) Entry Title: Thor - Should default to all items to report
Area Affected: Thor
Status: Complete
Description: When you select a report type to do (i.e. records or
forms) the list that initially comes up should have all
items selected. It seems that when I work on projects I
am almost always wanting a report of all items and only
occasionally want selected items.
Correction: Default changed to come up with all selected.
2) Entry Title: DiskLib - Convert params to standard types
Area Affected: Ada
Status: Complete
Description: Need to convert DiskLib routines to use standard
Modsys.S_Natural and Modsys.S_Integer.
Correction: Routines converted to standard types.
3) Entry Title: Installation - Should ask where to install before what to
install
Area Affected: Installation
Status: Complete
Description: Should move the screen which asks for the install
destination before the screen that asks what type of
install to do. Seems more logical to verify where to put
it before asking what to put there.
Correction: Moved the destination screen in front of the type of
install screen.
4) Entry Title: DosLib - Convert params to standard S_Natural and S_Integer
types
Area Affected: Ada
Status: Complete
Description: Need to convert DosLib routines to use standard
Modsys.S_Natural and Modsys.S_Integer types.
Correction: Converted all possible routines use standard types.
5) Entry Title: Reports - Should convert to standard types on params
Area Affected: Ada
Status: Complete
Description: Should convert params in Reports package to standard
types.
Correction: Reports package converted to use standard
Modsys.S_Integer and Modsys.S_Natural types.
6) Entry Title: Sage - Routing params should be converted to standard types
Area Affected: Ada
Status: Complete
Description: Sage.GetRecord parameters need to be converted to
Modsys.S_Natural.
Correction: Sage.GetRecord parameter converted from
Modsys.S_Natural16 to Modsys.S_Natural.
7) Entry Title: Thor - Need option to print reports with no page breaks
Area Affected: Thor
Status: Complete
Description: Need an option to print continuous reports. They would
not have the page numbering or an index or the form feed
characters. This "cleaner" file would be better to use
when comparing against the same file from another copy of
the SRC. This should make it easier to spot where there
are changes in relations, forms, etc.
Correction: Added a checkbox that is labeled Continuous. If you
check that box the output file does not have the page
numbering or an index or the form feed charcters.
8) Entry Title: Sage - Some params still in non standard types
Area Affected: Ada
Status: Complete
Description: Sage.OpenSystem and Sage.OpenDatabase parameters should
be converted from Modsys.S_Natural16 to Modsys.S_Natural.
Correction: Parameters on affected routines converted.
9) Entry Title: Thor - Need to gray buttons when functions are running
Area Affected: Thor
Status: Complete
Description: Need to clean up the buttons on the reports. While the
report is running the buttons should be grayed out so
that they are not active. When the report completes the
buttons would go active again.
Correction: Cleaned up the buttons. Now while the report is running
the buttons are grayed out so that they are not active.
When the report completes the buttons are active again.
10) Entry Title: MultSage - Convert params to standard types
Area Affected: Ada
Status: Complete
Description: MultSage package params need to be converted to use
standard Modsys.S_Natural and Modsys.S_Integer.
Correction: Parameters on routines converted to standard types.
Version released at this point: 6.03.0003
July 29, 2002
1) Entry Title: DiskLib - Change params to standard types
Area Affected: Ada
Status: Complete
Description: Need to change params to standard Modsys types.
Correction: Params changed to standard types.
2) Entry Title: WinPrint - Change params in SetMargins to standard types
Area Affected: Ada
Status: Complete
Description: Need to change the WinPrint.SetMargins parameter to
standard Modsys types.
Correction: Params changed to standard types.
July 26, 2002
1) Entry Title: TimeReal - Should change routines to get rid of LongReal
names
Area Affected: Ada
Status: Complete
Description: Should convert TimeReal routines to get rid of routines
with LongReal in their name.
Correction: LongReal routines removed. All routines overloaded to
handle both Modsys.S_Float32 and Modsys.S_Float64.
July 25, 2002
1) Entry Title: ObjCalendar - Overrunning lower and upper limits on dates
Area Affected: Ada, M2
Status: Complete
Description: Does not do bounds checking so it allows you to use the
plus and minus month buttons to move the calendar below
1900 and above the max year. Once you do that it will
blow up with numeric overflow problems.
Correction: Bounds checking has been implemented. Now you cannot
move below or above the limits. The max year available
has been increased from 2040 to 2400. The combo box
that listed the available years was also not showing the
lowest possible entry (1900).
2) Entry Title: Thor - Gray out buttons and menu options not useful if no
SRC is open
Area Affected: Thor
Status: Complete
Description: Should clean up buttons and menus of Thor so that if you
do NOT have an SRC open then the button and menu entries
that are not valid are either not visible or cannot be
selected.
Correction: Grayed out the buttons and menu entries when an SRC is
not open. Once you open an SRC all the menu items and
toolbar buttons are visible. Also since quite a few
people are still working with DOS form based systems I
moved those items from behind the 'character objects'
menu entry to the main edit menu.
Version released at this point: 6.03.0002
July 24, 2002
1) Entry Title: SDI - Large letter printing has extra blank line between
each line
Area Affected: SDI
Status: Complete
Description: The large letter printing that prints on reports is not
correct. Appears to have an extra blank line between
each row of the letters.
Correction: Corrected to show properly. Found an extra WriteLn that
was causing the extra space.
2) Entry Title: SDI - Percent complete string is not showing correctly
Area Affected: SDI
Status: Complete
Description: The percentage string that shows when a report is running
has a few characters in it that should not be there.
Correction: Fixed the percentage string to show up the way it should.
3) Entry Title: Files - Multiple file handles to same file not working
correctly
Area Affected: Ada, M2
Status: Complete
Description: Condition is when two file handles are open to the same
file. If one handle updates the file by adding to its
length the second handle does not know about the
increased size. Note - This will affect MultSage
operations.
Correction: This error was introduced by the May 03, 2002 correction
that took out an extraneous Files.Flush command from one
of the Files routines. Any library during the
intervening period should be replaced if you are using
MultSage. I did NOT put the Flush command back in to
correct this problem. It was corrected by having the
handles dynamically find the end of file when they need
it instead of assuming that it was still the same as the
last time that the handle used the file.
July 19, 2002
1) Entry Title: Strings - Would like a routine that can do formatting of a
string
Area Affected: Ada, M2
Status: Complete
Description: Would like a routine that can do some formatting on a
string. Such things as zero fill and/or add commas to a
string that is representing a whole number.
Correction: Added a new routine to Strings called FormatNumberString.
By setting the parameters to the call a string can be
zero filled and/or have commas added if it is a number
string.
2) Entry Title: Convert - Would like routines to do conversion using Roman
Numerals
Area Affected: Ada, M2
Status: Complete
Description: Would like routines so that Roman Numerals could be
handled in conversions.
Correction: Added two new routines called NumberToRoman and
RomanToNumber. They convert between numbers and a string
that represents that number in roman numerals.
Version released at this point: 6.03.0001
July 18, 2002
1) Entry Title: SDI - Would like command line param to rebuild its relations
Area Affected: SDI
Status: Complete
Description: Would like a command line param to be recognized called
BatchRebuild. This param from anywhere on the command
line would cause SDI to do a check and rebuild of its
relations (provided that you have the .OLD and .D[N][N]
files for it to rebuild against) and then exit without
showing the user any interface.
Correction: Added a command line value to SDI of BatchRebuild. This
is handy when you send out updates so that during the
install you can silently rebuild their SDI data. (Note -
the BatchRebuild value is NOT case sensitive.
July 17, 2002
1) Entry Title: SDI - Should look at more than just SDI.OLD if rebuilding
Area Affected: SDI
Status: Complete
Description: Currently if it has to rebuild a relation it only looks
for the SDI.OLD file to do that.
Correction: Now it will cycle around all the way through the possible
list of files (SDI.D02 ... SDI.D99) until it finds a
compatible file to use as the old.
July 16, 2002
1) Entry Title: SDI - Should be able to do a rename of the DFL being used
Area Affected: SDI
Status: Complete
Description: Should have a rename in the Utilities menu. This would
be used in the event that the User DFL is being renamed.
Correction: Added a rename function to the Utilities menu. This
function will go through the SDI relations changing the
stored DFL name from the old name to the new. Typically
the user would go into this function while having what
will be the old DFL open. They use the rename function
to rename to the new name. Once they do this there will
not be any reports or views left so they should just exit
out of SDI. Then they would restart SDI but use the new
DFL this time. When they enter they should see all the
existing views, reports, etc. ready for use with the new
name. If they go into the new DFL before renaming they
will be required to add one View before they can get to
the rename function. If they do it in this way it will
still rename all the existing stuff but is just not as
easy.
2) Entry Title: Thor - Rolling file names forward including the gaps
Area Affected: Thor
Status: Complete
Description: When you compile a DFL the file names are being rolled
forward even when there are gaps. For instance if you
have a .DFL, a .OLD, a .D02 and a .D04 it will roll .D04
up to .D05 and .D02 up to .D03 leaving the .D04 spot
open. It would be better if it would roll the gaps
closed.
Correction: The rolling mechanism was corrected so that instead of
just rolling the gap forward it will now close it. In
the example just given it will now leave the .D04 in
place and roll the .D02 up to .D03 closing the gap. The
next compile after that would result in the normal
rolling mechanism since it did not encounter a gap in the
sequence. The new method will prevent the premature
loss of the oldest .D[N][N] file.
3) Entry Title: ThorPort - Pause is eating up the processor under Windows
Area Affected: Ada
Status: Complete
Description: ThorPort.Pause seems to be eating up the CPU time when
the application is run under Windows.
Correction: Changed the internal code of the ThorPort.Pause routine.
The new way it should not be pegging the processor
during the Pause period.
4) Entry Title: Display - Eating up processor resources in ScrollForm under
Windows
Area Affected: Ada
Status: Complete
Description: Display.ScrollForm ties up the processor while waiting
for a key under Windows.
Correction: Corrected a tight wait loop by adding a slight delay
while it is waiting for a key.
5) Entry Title: SDI - Need to include old copies of SDI.DFL for user to do
rebuilding
Area Affected: SDI
Status: Complete
Description: Should include as many of the SDI.D[N][N] (old versions
of the SDI.DFL) files as can be recovered. Users need
these files to do rebuilding.
Correction: I'm now including as many of the SDI.D[N][N] (old
versions of the SDI.DFL) files as I could find. It
occurred to me that if you are picking up the newer
copies of SDI then you might have some SDI data relations
out there that would need to be rebuilt. In case you
happen to overwrite the SDI.DFL that you had then the one
you need might be in this list of files. If anyone
happens to have a copy of the SDI.DFL file in any form
that is a different date and time than the ones that I've
included send it to me and I'll make sure it gets in
with the others.
6) Entry Title: SDI - Should warn before purging
Area Affected: SDI
Status: Complete
Description: Should warn before actually doing the purge.
Correction: Added a warning screen before purging. The user can also
abort from this screen before starting the purge.
July 15, 2002
1) Entry Title: BinLib - Has an error related to recent type tightening
Area Affected: Ada
Status: Complete
Description: Looks like a mistake has been introduced recently,
probably during the type tightening.
Correction: Corrected a mistake where a paren was incorrectly
positioned when casting a type.
Version released at this point: 6.02.0001
July 11, 2002
1) Entry Title: Rebuild - Temp file not being deleted
Area Affected: Rebuild, Ada, M2
Status: Complete
Description: During the rebuilding of a relation (using Rebuild or
calling it internally) a temp file is created called
RESTRUCT.TMP. That file is not being deleted at the
conclusion of the relation rebuild.
Correction: Added code to delete that file at the end of its use.
2) Entry Title: SDI - Problem finding the SDITEMP.XXX file
Area Affected: SDI
Status: Complete
Description: Appears to be a problem related to finding the
SDITEMP.XXX file.
Correction: Use of the file is obsolete. Removed all use of the file
and put in code to delete that file when SDI starts if
the file is found.
July 10, 2002
1) Entry Title: Rebuild - Showing same version date but marking relation as
version problem
Area Affected: Rebuild
Status: Complete
Description: On the new fields which show the relation version
information sometimes the relation will be marked that it
is a version confict but the version of the relation is
the same as that in the DFL.
Correction: Found that if only the Index File had the wrong version
it was showing the .DAT file version. Corrected to show
the .IDX version in that case.
July 09, 2002
1) Entry Title: Database - Floating point fields corrupted if field
shortened or lengthened
Area Affected: Ada, M2, Rebuild
Status: Complete
Description: An important error has been discovered regarding floating
point fields. If the field is shortened or lengthened
after there are data records present there is a
possibility of the fields ending up with incorrect
values. This only happens to fields that are empty at
the time of the change. The problem will show in that
the field which was empty before having its size changed
will now contain a value of 0.0. This may not sound like
much but if you are doing calculations such as averages
based on the number of records that contained a value the
calculations will be off.
Correction: The problem has been corrected by adding code to detect
the empty values and properly change their size. If you
are using floating point fields I strongly suggest that
you make sure you have the new libraries. You will
definately want to use a version of rebuild that contains
this fix before you make any changes to the size of your
floating point fields.
July 08, 2002
1) Entry Title: Various - Tight types used throughout SageST now
Area Affected: Ada
Status: Complete
Description: Tight types should be used throughout all of the Ada side
of SageST and SageSGK.
Correction: SageST and SageSGK have been completely compiled using
the tightest type declarations for the Modsys types.
This should help eliminate any problems internally in
SageST where values are assigned and they overflow the
capacity of the receiving variable. For a period of time
the type declarations will be loosened so that everyone
doesn't have to immediately change all of their source.
However at some future date (probably within a few
months) the types will be tightened again to eliminate
the same problem from values being passed into the
routines. At that time you will have to match types with
what the procedure needs EXACTLY.
2) Entry Title: Various - Change Integer params to Natural where logical
Area Affected: Ada
Status: Complete
Description: Several parameters should be changed where the type used
is Modsys.S_Integer32 but it does not make sense to allow
negative values. For example the parameters to
Display.ScrollForm that tell it how many records to
scroll and the return value from Sage.TotalRecords.
Correction: Changed in multiple places.
3) Entry Title: Sage - GetFieldI and PutFieldI should be overloaded
Area Affected: Ada
Status: Complete
Description: Should overload the GetFieldI and PutFieldI routines with
additional numeric types that they can take as
parameters.
Correction: Overloaded the GetFieldI and PutFieldI routines with
additional numeric types. Currently the routines support
Integer, Natural, Modsys.S_Integer, Modsys.S_Integer32,
Modsys.S_Natural and Modsys.S_Natural32. Once this has
been in place for a while the GetFieldLI and PutFieldLI
routines will be removed so that this single routine name
can be used.
June 25, 2002
1) Entry Title: WinTools - SelectFolder should be in its own package
Area Affected: Ada, M2
Status: Complete
Description: Should move the routine WinTools.SelectFolder to its own
package.
Correction: It is now in SageDialog.SelectFolder.
2) Entry Title: M2 - Now using build 21 of the M2 compiler
Area Affected: M2
Status: Complete
Description: The M2 libraries should use Version 4 Build 21 of the
compiler.
Correction: The M2 libraries are now built using Version 4 Build 21
of the compiler.
June 10, 2002
1) Entry Title: SGK - Should use largest size of float for numbers
Area Affected: Ada, M2
Status: Complete
Description: SGK should be converted to use strictly Modsys.S_Float64
parameters.
Correction: SGK has been converted to use strictly Modsys.S_Float64
parameters. Previously some params were Modsys.S_Float32
which was not large enough in range to hold the values
that some users needed.
May 23, 2002
1) Entry Title: Modsys - Should remove Inc and Dec routines
Area Affected: Ada
Status: Complete
Description: Should remove the Modsys.Inc and Modsys.Dec routines.
These are most likely counter productive to use since it
probably costs more run time to set up and make a
procedure call than it would to simply execute the line
'Index := Index + 1;' Another point is that most
compilers are optimized to look for lines such as the one
illustrated. Using these routines probably masks that
and so the compiler is not able to optimize that code.
Correction: Removed the Modsys.Inc and Modsys.Dec routines.
May 20, 2002
1) Entry Title: BinLib - Slowing down updates to the index file
Area Affected: Ada
Status: Complete
Description: A particular change in one package put in when all of
Sage was converted from generics to procedure parameters
is slowing down lots of stuff, especially updates to the
index file.
Correction: Corrected the error. Index updates are now a lot faster
as well as this should also increase speeds in many of
the other Sage calls.
May 15, 2002
1) Entry Title: ErrorLog - Need new routine to get the current log file name
Area Affected: Ada, M2
Status: Complete
Description: Need a routine to get the name of the current log file.
Correction: Added a routine to ErrorLog called GetLogFile.
2) Entry Title: QueryLib - Should change error numbers to not conflict with
SageErrors
Area Affected: Ada, M2
Status: Complete
Description: Should move all the QueryLib related errors to new
numbers. They conflict with existing SageErrors.
Correction: Moved all the QueryLib related errors to new numbers.
See SageErrs package spec for a list of the errors by
number. They are now in the 140's range and the named
constant starts with the word Query. If you use QueryLib
and look for an error other than just generically saying
'not equal 0' then you need to review how these error
numbers changed.
May 14, 2002
1) Entry Title: Terminal - WriteStr