home *** CD-ROM | disk | FTP | other *** search
- vxBase 1.07 June 2, 1992
- -------------------------
-
- IMPORTANT NOTE TO EXISTING VXBASE USERS:
- ----------------------------------------
- See the VXLOAD.EXE discussion below.
-
- 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 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, the vxBase DLL
- itself, and VXLOAD.EXE - a Visual Basic Design Mode Utility.
-
- 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 and vxload.exe
- 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 files (VXBASE.DLL and VXLOAD.EXE)
- in your \windows directory.
-
- To run the sample program, see the Sample Application section in the
- manual. Remember to run vxload.exe before starting Visual Basic.
-
-
- Better Memory Management in Design Mode with VXLOAD.EXE
- -------------------------------------------------------
- NOTE: vxload.exe included with vxbase is a utility that simply
- loads vxbase.dll and runs in an iconized state. It is
- highly recommended that you run this program immediately
- PRIOR to calling up Visual Basic in Design Mode. vxload
- controls the vxbase memory. Any crashes when testing a vxbase
- program in design mode will not affect the vxbase memory pool
- at all if vxload is running. Copy vxload.exe to your \windows
- directory and set it up as a group item next to your VB icon.
-
- It is also suggested that you add the following two lines of
- code to your initialization procedure (somewhere after the call
- to vxInit()):
-
- Call vxSetLocks(FALSE)
- j% = vxCloseAll()
-
- vxSetLocks is described in detail below.
-
- Adding these two lines to the init procedure will close any
- files that were left open as a result of a Design Mode VB
- error. vxSetLocks will ensure that any open files left over
- from a crashed VB run will not have any leftover locks on
- your second and subsequent runs of the program while in Design
- Mode - and vxCloseAll will close any leftover files so you can
- start off with a clean slate.
-
- If you wish to use the default locking scheme in your finished
- .EXE, remove the vxSetLocks(FALSE) that you set up for design mode
- testing before compiling (and the vxCloseAll as well although
- that is not critical).
-
- If your vxBase program terminates abnormally (or you use the VB End
- menu item to terminate), and then you exit Visual Basic, an
- attempt to close VXLOAD.EXE from the system menu that appears
- when you click on its icon will result in a "Task Sequence Closure
- Error". This is because your vxBase Visual Basic program never
- called vxDeallocate, which removes Visual Basic from the vxBase
- task list being maintained by VXLOAD. If this happens to you,
- simply double click the VXLOAD icon to bring the VXLOAD window
- into view and select the EXIT menu item. Closing VXLOAD in this
- fashion ignores the task list.
-
-
- vxBase 1.07 June 2, 1992
- -------------------------
-
- Corrections to release 1.06
- ---------------------------
- (1) handle to user defined browse menu memory cleared after
- browse closed. Browse called without a user menu after
- displaying a browse that had a user menu would cause a
- General Protection Fault because second browse would
- attempt to release memory that had belonged to the first
- browse.
-
- (2) vxReplMemo with empty string now clears the memo block
- reference in the dbf file.
-
- (3) vxFilterReset corrected to clear pcode memory handle after
- filter memory deallocation.
-
- Functions Added to release 1.06
- -------------------------------
- The following vxEvalxxx functions have been added to return the
- results of xBase expressions. To use, the declarations must be added
- to your global module.
-
- vxEvalDouble
- ------------
- Declare Function vxEvalDouble Lib "vxbase.dll" (ByVal xBaseExpr as String, DblAmount As Double) As Integer
-
- Purpose:
- Evaluate an xBase expression that returns a numeric value and store
- the result of the evaluation in a predefined Visual Basic double variable.
-
- Parameters:
- xBaseExpr is a valid xBase expression that will return a numeric result.
- DblAmount is a predefined double value that will receive the result of
- the xBase expression.
-
- Returns:
- TRUE if the expression is a valid NUMERIC xBase expression. FALSE is returned
- if the expression cannot be parsed or if the expression type is not numeric.
-
- Example:
- ' use vxEvalDouble to calc capacity in
- ' lbs by subtracting empty weight from gross
- ' in an xBase expression instead of Vis Bas
- ' ------------------------------------------
- NumVal = 0
- If vxEvalDouble("c_gwt - c_ewt", NumVal) Then
- AirEmpty.text = Format$(NumVal, "####0")
- Else
- MsgBox "Numeric expression eval error"
- End If
-
-
- vxEvalLogical
- -------------
- Declare Function vxEvalLogical Lib "vxbase.dll" (ByVal xBaseExpr as String, ByVal TrueFalse As String) As Integer
-
- Purpose:
- Evaluate an xBase expression that returns a logical value and store
- the result of the evaluation in a predefined Visual Basic string. The result
- will be either ".T." for TRUE or ".F." for FALSE.
-
- Parameters:
- xBaseExpr is a valid xBase expression that will return a logical result.
- TrueFalse is a predefined string that is 4 characters long that will receive
- the result of the xBase expression (either ".T." or ".F".).
-
- Returns:
- TRUE if the expression is a valid LOGICAL xBase expression. FALSE is returned
- if the expression cannot be parsed or if the expression type is not logical.
-
- Notice that the integer return value is NOT the same as the result of the
- expression evaluation. If the expression is logical and evaluates as ".F.",
- the function will return TRUE but the value in the predefined Visual Basic
- string variable will be ".F.".
-
- Example:
-
- ' example of xBase logical expression evaluation
- ' ----------------------------------------------
- Eval$ = String$(4, 0)
- If vxEvalLogical("left(category,1)='C'", Eval$) Then
- EvalBox.Text = Eval$
- Else
- MsgBox "Error in logical expression evaluation"
- End If
-
-
- vxEvalString
- ------------
- Declare Function vxEvalString Lib "vxbase.dll" (ByVal xBaseExpr as String, ByVal StringVal As String) As Integer
-
- Purpose:
- Evaluate an xBase expression that returns a string value and store
- the result of the evaluation in a predefined Visual Basic string.
-
- Parameters:
- xBaseExpr is a valid xBase expression that will return a character result.
- StringVal is a predefined string that will receive the result of the xBase
- expression. It MUST be long enough to hold the xBase result.
-
- Returns:
- TRUE if the expression is a valid CHARACTER xBase expression. FALSE is returned
- if the expression cannot be parsed or if the expression type is not character.
-
- Example:
-
- ' example of xBase string expression evaluation
- ' ---------------------------------------------
- EvStr$ = String$(64, 0)
- If vxEvalString("trim(catname) + ' is category ' + category", EvStr$) Then
- JoinBox.Text = EvStr$
- Else
- MsgBox "Error in string expression evaluation"
- End If
-
- 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
-
-
-