* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * TMidWareDataSet - :TMidWareDataSet is derived from TDataSet.
TMWTable -
Register - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
PExtraRecInfo
TBookmarkInfo
TDisplayInfo
TExtraRecInfo
TFieldLayout
MWDataSetVErsion
procedure Register;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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
MWDataSetVErsion = 104
Enable partial boolean evaluation } {$T-} { Untyped pointers } {$J+} { Allow typed constant to be modified