CA-dBFast
A dBase-compatible application development system
Latest Release Notes
CA-dBFast 2.0D - US Version
Latest Release Notes > Builds 1 and 2 > Build 3 > Version 2.0A > Version 2.0B > Version 2.0C > Version 2.0D > Version 2.0D-1 > Version 2.0D-2
Version 2.0B
Workbench (61 corrections)
CREATE CONTROL FIELD with the VIEW parameter will not allow the user to edit the data.
CREATE CONTROL BROWSE with an index, hitting the DEL key and then the ESC key on the first record in the field will no longer give an Application Error.
CREATE CONTROL FIELD on a CREATE CONTROL BROWSE with a valid function that returns a .f. value and an error clause, hitting ESC instead of RETURN and then hitting OK at the error box will no longer cause an application error.
CREATE CONTROL FIELD on a CREATE CONTROL BROWSE with a valid function that returns a .f. value, after hitting OK at the error box, the cursor will now return to the correct field.
The VALID function of a CREATE CONTROL FIELD will now get called if pressing ENTER to go to the next field if it is not the last in the list.
Database/Browse Data and resizing the browse window so that the bottom record is only partially visible will now scroll properly.
Clicking the close box on a CREATE CONTROL BROWSE will now produce an event 5.
CREATE CONTROL BROWSE with a style of NOTRACK, paging down to the very end of the file and then dragging the thumbwheel to the very top, the screen is now refreshed properly.
CREATE CONTROL BROWSE with a filter set will only show a records that are in the filter.
The thumbwheel of a BROWSE is now updated properly when a SEEK is done.
Canceling a report type when going into CA-RET from the visual designer and then choosing the report again will no longer give two file chooser windows.
Assigning a view to a report and then deleting that view will no longer produce a "Meteor shower" error message.
Using a CHAIN with an @ SAY GET CHECKBOX command and a READ SAVE command will now allow the checkboxes to be changed.
Using SET FIELD TO followed by DELETE and PACK will no longer result in lost data.
Error 189 now has a valid error message.
MEMSIZE of 61440 is accepted in both the dbfast.ini and a linked applications .ini.
Selecting database/structure/modify structure will now access the current working directory.
If a memo field contains text, and pass the return value from MEMOLINE() to a multi-line GET EDITBOX, you can now type in the editbox.
The VIEW parameter of an @ GET statement will no longer allow the user to input data into the GET field.
Opening two databases together, adding a blank record to each of them, doing a DELETE ALL on the second database, only with SET DELETED ON and setting a filter on the first database will no longer cause an application error when a CLOSE command is issued.
Using the SET FILTER command with two database fields where one of these fields is empty will no longer cause an application.
Passing a field name to a multiline GET EDITBOX will now allow you to type in the GET if the field is empty.
Using the VIEW parm on a GET from a database with a READ SAVE will no longer result in a Application Error if run twice in a row.
Changing the text in a GET field and using a READ SAVE command will now save the data if the mouse is clicked on a button.
CA-dBFast will no longer allow an index key of greater than 100 characters. 100 characters is the index key limit.
TABs are now being expanded in memo fields.
The PICTURE clause will now display static characters while typing data in a GET field.
The @BZ picture clause will not produce multiple dollar signs ($) when data is displayed for it.
Using CREATE CONTROL FIELD with a picture clause will no longer show the picture clause in a GET if the contents of the GET is deleted with the DEL key, and then DEL is hit again.
The Y picture clause will now display a Y instead of a T for a logical field.
Using a picture clause of '999.99' will now let you hit the '.' to move to the decimals section.
Hitting ENTER in a GET that already has data in it, and a picture clause of '(###)###-####' will no longer cause the data to be removed from the GET.
Picture clause '@Z#,###.##' will now let you type the decimal point as the first character.
@ SAY commands are now being refreshed after an application is minimized and then restored.
After clicking on the control box of a window, the window is now selected.
Repeatedly executing DDE commands will no longer lose system resources.
SELECT WINDOW of a window that has a GET and was on a READ, after another window was created that has a GET and a button and also was on a READ will no longer result in a GPF.
Opening and closing a BROWSE will no longer eventually use up all system resources.
Using a DBF with an index, CREATE CONTROL EDITBOX with the save to from the DBF, then skip will no longer result in a GPF.
Hitting UP arrow on a BROWSE that has a SET FILTER with the FIND option after scrolling down then going to the top of the DBF will no longer GPF.
Sorting four or more fields in a database is now correct.
Opening a GET on a memofield in a created window, then clicking on the created window will no longer lock CA-dBFast.
SKIPping past the EOF() will bring up DEBUG. If you hit 'Exit Program', however, it will now properly exit the app.
CREATE CONTROL BROWSE with STYLE POPUP in a window, then hit EXIT or click in the created window no longer locks the application.
Using a REPLACE or UPDATE CONTROL in a valid of a CREATE CONTROL BROWSE will no longer lock you in the valid, repeatedly calling the valid.
A DBF with a filter set passed to a BROWSE will only show the records in the filter.
BROWSE will now show the correct current record.
With a CREATE CONTROL BROWSE open, and skipping through the DBF, if you hit a deleted record and SET DELETED is ON, the BROWSE will now skippast that record.
If a filter is set on a DBF so that it does not contain any recs, then a CREATE CONTROL BROWSE is opened, then an UPDATE CONTROL ALL is issued, CA-dBFast will no longer GPF.
Passing an array that contains strings that are greater than 256 chars to a CREATE CONTROL RADIOBUTTON will no longer cause a GPF.
Trying to SHOW CONTROL of an object after the 'Long Delays for Printing' box comes up will no longer result in a 'Referenced Object not Found' error.
Passing an undefined variable to the TYPE() function in an executable application will no longer give an error of Undefined Variable.
Deleting the last record in a browse with SET DELETED ON, will no longer lock the app if a new record is then appended.
LOCATE FOR with CONTINUE will no longer GPF.
MOD() with a denominator of zero will no longer GPF, instead it will give a DIVIDE BY ZERO error.
Closing a browse window before a corresponding picture or memo window is closed will no longer GPF.
Typing data into a GET will now overwrite all the old data, unless the cursor keys are used.
No longer receive RECORD LOCKED or LOCK TABLE FULL when appending blanks and replacing data on a LAN.
SHIFT+TAB or CTRL+TAB will no longer lock the app.
PACK, REINDEX, COPY TO or APPEND FROM will no longer remove international characters.
A POSTEVENT() will no longer be lost if the window it was posted in is closed, and the event was not yet processed.
Visual Designer (12 corrections)
Can no longer have an underscore as the first character of a form name.
Choosing File/Save from a popup window in the designer will no longer still ask to save the design if the user immediately chooses a File/Exit.
Using a VALID expression in the structure editor will now generate the VALID in the code.
Changing the view for a form using the editbox and lower case will result in that view still accessible in the form.
You can make a buttons text the same as static text on the screen.
Having a copyright notice longer than 32 chars will let the user back into the forms.
Clicking on the tool bar buttons display a message about what item was clicked on.
You can close the 'Name/Rename Form' dialog box by double-clicking on the system box.
If you do not use a database in your design, you will no longer receive 'no data file in use' error.
Selecting 'Control Box' for a window in the Popup Forms Editor will no longer cause an error.
Can now delete the last index saved in the database structure.
Will now get a warning if a database already exists when generating the application.