diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2022-12-07 13:17:14 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2022-12-07 13:17:14 +0100 |
commit | 4875a3dd9b183dcd2256e2abfc4ccf7484c233b4 (patch) | |
tree | 0abbea881ded030851014ffdd60fbf71fead8f65 /docs/howto | |
parent | daf17154bf13139d9375f48525d19d6aaba08155 (diff) |
New upstream version 4.0.2upstream/4.0.2
Diffstat (limited to 'docs/howto')
-rwxr-xr-x | docs/howto/AddAnIndex.txt | 11 | ||||
-rwxr-xr-x | docs/howto/GettingStarted.txt | 86 | ||||
-rwxr-xr-x | docs/howto/Hacking.txt | 28 | ||||
-rwxr-xr-x | docs/howto/Locking.txt | 53 | ||||
-rwxr-xr-x | docs/howto/mac_cmake_compile.txt | 1 |
5 files changed, 179 insertions, 0 deletions
diff --git a/docs/howto/AddAnIndex.txt b/docs/howto/AddAnIndex.txt new file mode 100755 index 0000000..251caf8 --- /dev/null +++ b/docs/howto/AddAnIndex.txt @@ -0,0 +1,11 @@ + + +How to create an index + +1) Derive a child class from xbIx Pure Virtual Class + +2) Create header file +3) Create cpp file + +4) SQL updates + - xbcrix.cpp diff --git a/docs/howto/GettingStarted.txt b/docs/howto/GettingStarted.txt new file mode 100755 index 0000000..a88698f --- /dev/null +++ b/docs/howto/GettingStarted.txt @@ -0,0 +1,86 @@ + +To build the xbase library + +1) Verify you have the correct software prerequisites installed + A) cmake 2.6 or LATER + B) Compiler and linker + +2) Verify you have access to the target location of the library + +3) Unpack the tar or zip file + +4) For Linux 64 bit or 32 bit plat forms + + cd xbase/build/Linux64 or xbase/build/Linux32 + cmake . + make + make test + sudo make install + + Verify the ld.so.conf file has the library target directory + For example + update file /etc/ld.so.conf to include /usr/local/lib + and run ldconfig + Your milage may vary depending on Linux Distro + + + To update the configuration file + cd xbase/build/Linux64 or xbase/build/Linux32 + ccmake . + + + +5) For Mac + + Verify you have xcode installed and operational + cd xbase/build/Mac + cmake . -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk + make + make test + + +6) For Windows 64 bit with Visual Studio + + Open a Visual Studio 64 bit Shell + cd xbase\build\Win64VS + buildwin.bat + nmake test + + From a VS Studio 64 bit shell in admin mode + nmake install + + Also of note: cleanwin.bat resets everything + +7) For Windows 32 bit with Visual Studio + + Open a Visual Studio 32 bit Shell + cd xbase\build\Win32VS + buildwin.bat + nmake test + + From a VS Studio 32 bit shell in admin mode + nmake install + + + +8) For Windows 32 bit with Borland 5.5 free compiler + + cd xbase\build\Win32Borland + BuildBorland.bat + make test + + +9) For other platforms + + Here is something to start with... + + cd xbase + md MyPlatform + cd MyPlatform + cp ../Cmake/CmakeLists.txt . + + Enter the appropriate make command for your environment - check the cmake web site for help + On Linux, it is .cmake, then make + your mileage may vary + + Send your results to the library maintainer so it can be added to this library diff --git a/docs/howto/Hacking.txt b/docs/howto/Hacking.txt new file mode 100755 index 0000000..3447490 --- /dev/null +++ b/docs/howto/Hacking.txt @@ -0,0 +1,28 @@ + + +How to modify the library: + + +The library was redesigned with a structure in mind to allow additional +dbf, memo and index files to be added relatively easily without trashing +the underlying codebase. + + +To add functionality to add a DBF, or tailor a particular dbf class, +create a new derived class using the xbdbf class as a base class. +The core xbdbf base class encompasses the DBASE III code base. + +At one time there was "Real Delete" processing embedded in the code. It +was removed from the core classes because it would be incompatible with +later versions of the xbase file structures. If you were interested in +adding this back into the library, you could derive a new dbf class +and add the mods into the new derived class, leaving the base class +as it stands. + + +To add additional memo functionality, create a new derived class from +the xbMemo class. + + + +Update xbFile::DetermineXbaseVersion to identify Xbase file type
\ No newline at end of file diff --git a/docs/howto/Locking.txt b/docs/howto/Locking.txt new file mode 100755 index 0000000..b3cc832 --- /dev/null +++ b/docs/howto/Locking.txt @@ -0,0 +1,53 @@ + +Xbase64 - Multi user / Record Locking + + + +If you are using the Xbase64 library in a multi user environment, + +The Record Locking functionality of Xbase64 is designed to work in an evironment +where the files are not cached on a local client machine. + +If you are using the Xbase64 library in a multi user environment, you will need +to verify that Oplocks are turned off for the files in question. + +Oplocks is short for Opportunistic Locking. + + +If you are using Samba software as your file server software, you will +need to add the following to your smb.conf config files. + + +In the global section of the smb.conf file: + +[global] +veto oplock files = /*.dbf/*.DBF/*.dbt/*.DBT/*.ndx/*.NDX/*.cdx/*.CDX/*.mdx/*.MDX + + +Or you could set this at the share level +[share_name] +veto oplock files = /*.dbf/*.DBF/*.dbt/*.DBT/*.ndx/*.NDX/*.cdx/*.CDX/*.mdx/*.MDX + + +Sometimes locking issues can be related to the network config, more than the programs +For example, the locking logic might fail if the underlying file structure does not +support it. + +Mac OSX does not support locking functionality on SMB / Samba shares +Mac OSX does support locking functionality on NFS shares +Per Apple, this is by design + + +Function: xbase::SetMultiUser( xbTrue || xbFalse ) + + Use this function to turn multi user mode on or off. + This function needs to be called before any files are opened or created. + If this function is called after files are opened or created, the files + will need to be closed and reopened for this setting to take effect. + + This setting turns file buffering on and off. In a single user environment, + set this switch to off to improve the performance of the application. + + + + diff --git a/docs/howto/mac_cmake_compile.txt b/docs/howto/mac_cmake_compile.txt new file mode 100755 index 0000000..4ec0ad6 --- /dev/null +++ b/docs/howto/mac_cmake_compile.txt @@ -0,0 +1 @@ +cmake . -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk |