vxBase 1.05a March 25, 1992 ---------------------------- IMPORTANT NOTE TO EXISTING USERS: Function vxDeallocate HAS CHANGED and will require some programming changes on your part to implement. See the notes on vxDeallocate below. This release features 8 new functions: vxDbfDate extract the date of last access vxInit initialize multitask manager This function MUST be called as the first reference to vxBase. SEE THE NOTES below. vxIsRecLocked query record lock status vxJoinNoAuto Turn off automatic joins when browse window is initialized vxReplLogical replace logical fields using boolean values vxSetLanguage French, Spanish and German support added. All menus, dialog boxes, and error messages may be displayed in your choice of language. More languages coming! vxTestNtx Test the integrity of an index vxUseDbfRO Open a database with Read Only access Corrections and Changes: ------------------------ (1) vxBrowsePos vertical size increased by 3 * frame width. (2) QuickKey clear corrected if new browse window painted. (3) Segment registers explicitly loaded in vxFile to stop intermittent enhanced mode general protection fault. (4) vxReplLong corrected if number was greater than 32767 (5) vxTop() and vxBof() corrected when used with filters. (6) cleaner drawing of browse menus if modifications made. (7) F3 accelerator key attached to Find Again item in Browse menu. Instead of having to select the menu item to find another instance of a search string, press F3. (8) vxPack NOW PACKS MEMO FILES (and does it very well). (9) vxCopy now copies with index ON and does not copy deleted records. Memo files attached to the database being copied are now copied as well (and compressed). (10) meter bar added to indexing functions to chart your progress. (11) a browse window with filters now proprly handles the vertical scroll bar. (12) onscreen edit in browse of numeric fields lost numbers to the right of the decimal point. Problem corrected. (13) VXINIT and VXDEALLOCATE ----------------------- To properly institute multiple tasks running vxBase, "Call vxInit" MUST be the first call to vxBase in your program and vxDeallocate() must be the last call and must be tested as shown in the example below. ' Init in first form_load ' ----------------------- Sub Form_Load() vxInit vxCtlGraySet End Sub , on exit, test if unload legal ' with vxDeallocate ' ----------------------------- Sub Form_Unload (Cancel As Integer) ' if vxDeallocate does not return ' TRUE, we may not exit this app ' ------------------------------- If Not vxDeallocate() Then Cancel = -1 VXFORM1.Show Else vxCtlGrayReset End End If End Sub Multitasking Memory Usage ------------------------- vxDeallocate is now a function instead of a sub procedure. It must be tested as above. vxInit was added and vxDeallocate was changed for the following reasons: If running a number of vxBase tasks concurrently, the first task that calls vxBase has all database memory allocated to it. If other vxbase tasks are loaded while the first is running, these tasks SHARE vxbase memory with the first task. The new vxInit function registers the current task in a multitasking list maintained by vxBase. If it is the first vxBase task, that fact is also recorded. vxDeallocate as the last call before exit in your application tests to see if the task that owns the memory (i.e., the first task) is being closed. If so, and there are active vxbase tasks that were started AFTER the memory owning task, an error message is issued to the user that the task closure sequence is incorrect. The programmer must NOT exit the first application until all other tasks subordinate to the first have been closed. In other words, the first vxBase application to be run must be the last to be closed. Use a sequence of code as shown in the example above in your VB application exit routine (i.e., the last form_unload) to ensure that the task closure sequence is correct (otherwise - U.A.E.!) vxSetLanguage ------------- This release adds French, Spanish, and German language support. If vxSetLanguage(VX_FRENCH) or vxSetLanguage(VX_GERMAN) or vxSetLanguage(VX_SPANISH) is called. all browse and memo menus, dialog boxes, and error messages generated by vxBase will be in the language of choice. Subsequent startups of vxBase will also be in the last selected langauge whether vxSetLanguage is called or not. To set the language back to English, use vxSetLanguage(VX_ENGLISH) The 1.05 documumentation only mentions VX_FRENCH. VX_GERMAN and VX_SPANISH were added to release 1.05a. vxBase Installation ------------------- vxBase is distributed on a single diskette or on bulletin boards as two compressed .ZIP files. The first ZIP file is vxbdoc.zip, which contains the documentation in a Windows Write file. This file is essential to understanding and using vxBase. If it is missing, contact the author at the address below. The documentation is separated from the rest of vxBase to allow potential users to preview it before installing and actually using vxBase. This is especially helpful to potential users who extract vxBase from a bulletin board. They can evaluate the system from a documentation standpoint before committing to downloading the larger system. Unzip vxbdoc.zip and view or print it. The manual is more than 180 pages long. It was formatted for an Epson 24-pin printer using standard Roman and Courier fonts. Printed manuals may be obtained for $15.00. See the end of the documentation for ordering information. The second ZIP file (vxbase.zip) contains the sample source code and Visual Basic project files, vxbase.txt which includes all of the Visual Basic declarations for the routines in the vxBase DLL and the vxBase DLL itself. If you are going to upload vxBase to a bulletin board, it must be sent as it was received - in two ZIP files. When the system ZIP file is decompressed, it contains this readme.doc file and 2 more ZIP files. These ZIP files are: vxbdll.zip the vxBase DLL vxbtest.zip sample source code and vxbase.txt To install vxBase, first make a subdirectory under your \vb directory named \vb\vxbtest and copy the vxbtest.zip file there. Unzip it and delete the vxbtest.zip file from your hard disk. To run the sample application it is essential that these files be in directory \vb\vxbtest because this path is hard-coded into the sample code. If you MUST put it somewhere else, you'll have to modify the file names in the source code to reflect your location. Unzip vxbdll.zip and place the resulting file (VXBASE.DLL) in your \windows directory. To run the sample program, see the Sample Application section in the manual. Terry Orletsky vxBase (512523 ALberta Ltd) #200, 10310 - 176 Street Edmonton, Alberta, Canada T5S 1L3 Phone (403) 489-5994 Fax (403) 486-4335 Compuserve I.D. 70524,3723