Unit MWDatSet

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Author: François PIETTE Description: TMWDataSet component and TMWTable component EMail: francois.piette@pophost.eunet.be francois.piette@ping.be francois.piette@rtfm.be http://www.rtfm.be/fpiette Creation: March 20, 1998 Version: 1.05 Support: Use the mailing list midware@rtfm.be See website for details. Legal issues: Copyright (C) 1997, 1998 by François PIETTE Rue de Grady 24, 4053 Embourg, Belgium. Fax: +32-4-365.74.56 This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software and or any derived or altered versions for any purpose, excluding commercial applications. You can use this software for personal or internal use only. You may distribute it freely untouched. The following restrictions applies: 1. The origin of this software must not be misrepresented, you must not claim that you wrote the original software. 2. If you use this software in a product, an acknowledgment in the product documentation and displayed on screen is required. The text must be: "This product is based on MidWare. Freeware source code is available at http://www.rtfm.be/fpiette." 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 4. This notice may not be removed or altered from any source distribution and must be added to the product documentation. Data layout: +-----------------------------------------------------------------+ | I N T E R N A L R E C O R D B U F F E R | +-------------------------------------+----------+-------+--------+ | P H Y S I C A L R E C O R D | | | | +-------------------------------------+ | | | | |CALCULATED| EXTRA |BOOKMARK| | ACCESSIBLE PHYSICAL FIELDS | FIELDS |RECINFO| DATA | +-------------------------------------+----------+-------+--------+ FCalcFieldOffset ----------------^ FExtraRecInfoOffset ------------------------^ FBookMarkOffset ------------------------------------^ <----------- FRecBufSize -----------------------------------------> <----------- FRecSize ----------------> Updates: Mar 23, 1998 V1.01 Added a byte for the nul terminating byte in each field May 13, 1998 V1.02 Changed IsSequenced to return FALSE. This solve the scroll bar problem in DBGrids. Changed GetFieldData to copy just the required number of byte regarding the datasize (this bug caused field concatenation). May 23, 1998 V1.03 Added comments. Jun 01, 1998 V1.04 Removed beta status. Changed "legal stuff" to prohibe commercial applications whithout an agreement. Added property editor for FiledLayout. Jun 14, 1998 V1.05 Moved TFieldLayout in this source file * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Classes

TMidWareDataSet - :TMidWareDataSet is derived from TDataSet.
TMWTable -

Functions

Register - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Types

PExtraRecInfo
TBookmarkInfo
TDisplayInfo
TExtraRecInfo
TFieldLayout

Constants

MWDataSetVErsion

Variables


Functions


procedure Register;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Types


PExtraRecInfo = ^TExtraRecInfo
TMWBuffer.Tell data type
TBookmarkInfo = TPosition

TDisplayInfo = procedure (Sender: TObject; const Msg: String) of Object
bfCurrent, bfBOF, bfEOF, bfInserted
TExtraRecInfo = record
BookmarkFlag : TBookmarkFlag;
end;

TFieldLayout  = String

Constants

MWDataSetVErsion = 104

Enable partial boolean evaluation } {$T-} { Untyped pointers } {$J+} { Allow typed constant to be modified

Variables