📄 readme.txt
字号:
kbmMEMTABLE v. 3.07 (11. November 2002)
=========================================================================
An in-memory temporary table.
BEFORE USING THIS COMPONENT, YOU ARE REQUESTED TO READ ALL OF THIS TEXT
DOCUMENT AND SPECIALLY TO NOTICE AND ACCEPT THE DISCLAIMER.
Can be used as a demonstration of how to create descendents of TDataSet,
or as in my case, to allow a program to generate temporary data that can
be used directly by all data aware controls.
Copyright 1999-2002 Kim Bo Madsen/Components4Developers
All rights reserved.
You are allowed to used this component in any project for free.
You are NOT allowed to claim that you have created this component or to
copy its code into your own component and claim that it was your idea.
-----------------------------------------------------------------------------------
PLEASE NOTE THE FOLLOWING ADDITION TO THE LICENSE AGREEMENT 5. June. 2002:
If the component package is password protected, the password may under no circumstances
be publicised. The password must also under no circumstances be removed from the package.
If you need a password for the package, please join the Yahoo group at
http://www.yahoogroups.com/group/memtable
After joining (require replying on an email automatically send to you from Yahoo to
confirm membership), sign in and check the Database/FAQ section for the latest password.
The password and membership is for free.
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
PLEASE NOTE THE FOLLOWING ADDITION TO THE LICENSE AGREEMENT:
If you choose to use this component for generating middleware libraries (with similar
functionality as kbmMW, dbOvernet, Midas, Asta etc.), those libraries MUST be
released as Open Source and Freeware!
-----------------------------------------------------------------------------------
Im offering this for free for your convinience, and the only thing I _REQUIRE_
is to get an e-mail about what project this component (or derived versions)
is used for.
You dont need to state my name in your software, although it would be
appreciated if you do.
If you find bugs or alter the component (f.ex. see suggested
enhancements further down), please DONT just send the corrected/new code
out on the Internet, but instead send it to me, so I can put it into the
official version. You will be accredited if you do so.
To use it, some fields has to be defined, either programmatically by
setting up fielddefs, or by double-clicking TkbmMemTable icon on the
form.
- Rightclick to get menu.
- Choose New field.
- Specify field name and type + optionally size (only for strings).
- Make sure that fieldtype is Data.
- Add more optional data, calculated or lookup fields if needed.
The field definitions will be stored on the form automatically if created
this way.
To use it:
Use it like any other TTable. E.g.: Open, Add records, Read records, Close.
Remember that when the close is issued, all records are forgotten, unless
you have manually saved them, or defined a persistent file.
Please see the comments in the start of the component source for what抯
new in this release.
DISCLAIMER
By using this component or parts thereof you are accepting the full
responsibility of it抯 use. You agree to not hold the author responsible
in any way for any problems occurring from the use of this component.
You also recognize the author as the creator of this component and agree
not to claim otherwise!
Please forward corrected versions (source code ONLY!), comments and questions
to the memtable community at:
memtable@yahoogroups.com
Send emails specifying for what purpose the component is used to:
kbm@components4developers.com
For latest version and support, please check:
www.components4developers.com
//=============================================================================
Support:
- Look for new versions at:
- http://www.components4developers.com
- Join the memory table community by sending an empty e-mail to:
memtable-subscribe@onelist.com or use a browser to go to
http://www.yahoogroups.com/group/memtable
- Leave the memory table community by sending an empty e-mail to:
memtable-unsubscribe@yahoogroups.com
- For more information about the list, please look at: http://www.Yahoogroups.com/group/memtable
Whats new in v. 3.07 8. Nov. 2002
--------------------------------------------
3.07 Fixed case bug confusing BCB. Declared RollBack implemented Rollback.
This lead to A/V's of adjacent functions in BCB.
Whats new in v. 3.06 26. Sep. 2002
--------------------------------------------
3.06 Added OnGetValue event to TkbmCustomResolver which is called when
the resolver requests the new value for a field.
Fixed endless loop in TkbmIndexes.DeleteIndex. Reported by
Markus D黷ting (duetting@cosymed.de)
Removed ClearRange in SwitchToIndex to support keeping range while
switching index.
Made CheckPointRecord public.
Added support for ftOraBlob and ftOraClob field types for level 5+ compilers.
Whats new in v. 3.05 28. Aug. 2002
--------------------------------------------
3.05 Fixed autoinc population when using attached tables.
Whats new in v. 3.04 12. Aug. 2002
--------------------------------------------
3.04 Fixed locking problem with resolver on table with attached tables and datacontrols
in threaded environment.
Modified InsertRecord, ModifyRecord, DeleteRecord, UnmodifiedRecord to
allow for Retry and State variable arguments.
Fixed CSV format not loading last field in some circumstances.
Whats new in v. 3.03 7. Aug. 2002
--------------------------------------------
3.03 Kylix 3 and Delphi 7 support officially added.
Added several error classes:
EMemTableFatalError -> EMemTableInvalidRecord
EMemTableIndexError -> EMemTableDupKey
EMemTableFilterError
EMemTableLocaleError -> EMemTableInvalidLocale
Updated Italian ressource file by Alberto Menghini (alberto@asoft.it).
Updated Czech ressource file.
Updated Romanian ressource file by Sorin Pohontu (spohontu@assist.ro).
Made SavePersistent and LoadPersistent public.
Added public property PersistentSaved which indicates if persistent file
was saved. If true, SavePersistent will not be called again.
Added LookupByIndex by Prokopec M. (prokopec@algo-hk.cz)
Fixed 'List index out of range' while defining fielddefs with attribute hidden.
Bug reported by Adi Miller (dontspam@il.quest.com-adi)
Fixed so its ok to modify a field during OnCalcFields without putting
the dataset in edit mode.
Fixed problem with array and ADT fields. Bug reported by (huqd@mail.csoft.com.cn)
Whats new in v. 3.02 29. July 2002
--------------------------------------------
3.02 Fixed compilation problems in D4 and Kylix by adding missing IFDEF's.
Problem reported by several.
Fixed not equal filtering problem reported by several.
Whats new in v. 3.01 12. July 2002
--------------------------------------------
3.01 11. July. 2002
Changed TkbmIndex constructor to accept TkbmMemTableCompareOptions instead of
TIndexOptions.
Added global public functions:
IndexOptions2CompareOptions and CompareOptions2IndexOptions for
easy conversion between the two sets.
This allows for Sort/SortOn/SortDefault to utilize all special memtable
compare options. Further it enables manually created indexes via
TkbmIndex to take advantage of those features too.
Problem indicated by mariusz@nizinski.net.
Added new property AutoUpdateFieldVariables which is false by default.
Setting it to true automatically updates/adds field variables to the
owner of the memtable (f.ex. a form). Contributed by Ken Schafer (prez@write-brain.com)
Added support for ftFmtBCD.
Fixed InternalOpen problem which recreated fields/fielddefs for attached tables.
This resulted in severe problems when field order is different between base table
and attached table. Bug reported by michael.bonner@ci.fresno.ca.us.
Added support for ftTimestamp for LEVEL6 compilers (D6/BCB6).
Added support for Kylix 3.
Whats new in v. 3.00 FINAL 15. June 2002
--------------------------------------------
3.00 FINAL
Fixed minor problem not resetting internal TDataset flags correctly
after a binary load.
Rolled the rollback and commit change in 3.00g Beta back due to serious
problems. Sorry about that. Bug reported by hans@hoogstraat.ca
Added support for indexing Lookup fields. Suggested by hans@hoogstraat.ca.
Fixed C++ Builder 6 project which mistakenly referred to kbmMW file.
Added BufferSize property to binary stream format.
Suggested by Ken Schafer (prez@write-brain.com)
Fixed some Kylix compability situations by (Hans-Dieter Karl) hdk@hdkarl.com
Removed TkbmTreadDataset from Kylix distribution.
Added ClearModified method to TkbmMemTable to clear out modification flags
of both fields and table. Suggested by hans@hoogstraat.ca
Changed so IsDataModified flag is not set if Edit/Post do not change anything.
Suggested by hans@hoogstraat.ca
Whats new in v. 3.00g Beta 5. June 2002
--------------------------------------------
3.00g Beta Fixed Commit/Rollback as suggested by (peter.bossier@sintandriestielt.be)
Made small changes for better support of fetch on demand in kbmMW.
Improved filtering to check for variant empty/null.
Added support for BCB6.
Added support for Kylix1. Please notice that the memtable designer although
ported for Linux, is not available simply because I cannot find a
decent way to invoke the default field editor programatically.
Thus all custom component editors have been disabled for Kylix 1.
Fixed RecordTag use while filtering bug. Bug reported by Aart Molenaar (almo@xs4all.nl)
Fixed comparing very large values in CompareField which could raise OutOfRange error.
Whats new in v. 3.00f9 Beta 25. Feb. 2002
--------------------------------------------
3.00f9 Added OnFormatLoadField and OnFormatSaveField event for reformatting of
data before they are actually loaded or saved.
Added sfQuoteOnlyStrings (CSV) flag for selecting to only quote string/binary fields during save.
Published sfNoHeader and completed support for it (CSV). It controls
if a header should be saved or loaded.
Added raising an exception if Save... is called when table is closed.
Changed the result of OldValue for a field to return the original unchanged value
if versioning is enabled. This is to make kbmMemTable be more compatible with TClientDataset.
Whats new in v. 3.00f8 Beta 30. Jan. 2002
--------------------------------------------
3.00f8 Fixed bug reading CSV files containing blobs.
Whats new in v. 3.00f7 Beta 25. Jan. 2002
--------------------------------------------
3.00f7 Fixed bug not copying autoinc value in CopyRec when destination table empty.
Was wrongly testing for source table empty.
Fixed bug negating a negate when comparing descending field indexes.
Fixed problem comparing longint and int64 fields in comparefields.
Fixed sorting bugs introduced in 3.00f6.
Fixed searching using FindKey/FindNearest on descending indexes.
Fixed CompareBookmark function to better test for invalid bookmarks.
Fixed Persistent save during destruction which could lead to A/V.
Whats new in v. 3.00f6 Beta
--------------------------------------------
3.00f6 Fixed massive leak in TkbmBinaryStreamFormat resulting from
missing to indicate records were part of table.
Changed so LoadFromDataset only issues First if source table was not on
first record. Will satisfy forward only sources.
Suggestion by Marco Dissel (mdissel@home.nl).
Added compiler directive for enabling short circuit evaluation.
Suggested by Bill Lee (mrbill@qualcomm.com)
Fixed Locate (and all other searching methods) on descending index.
Bug reported by Walter Yu (walter@163.net).
Fixed raising exception if no indexfieldnames given for FindKey.
Suggested by Sergei Safar (sergei@gold.com.br).
Fixed AutoReposition Index out of range when delete, close table, open table.
Bug reported by Federico Corso (federico.corso@eudata.it)
Whats new in v. 3.00f5 Beta
--------------------------------------------
3.00f5 Fixed deltahandler Value and OrigValue returning empty string instead of Null
when field is null.
Whats new in v. 3.00f4 Beta
--------------------------------------------
3.00f4 Fixed MasterFields designer for inherited components.
Virtualized MasterChanged, MasterDisabled, CopyRecords, Progress,
Lock and Unlock.
Whats new in v. 3.00f3 Beta
--------------------------------------------
3.00f3 Fixed floating point bug introduced in 3.00f2 in binary stream format.
Bug reported by Fred Schetterer (yahoogroups@shaw.ca).
Whats new in v. 3.00f2 Beta
--------------------------------------------
3.00f2 Added missing AllDataFormat property.
Virtualized LoadFromStreamViaFormat and SaveToStreamViaFormat.
Fixed bug in InternalCompareFields as reported by Radovan Antloga
(radovan.antloga@siol.net).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -