diff --git a/components/flashfiler/readme-turbopower.txt b/components/flashfiler/readme-turbopower.txt new file mode 100644 index 000000000..a18099eb8 --- /dev/null +++ b/components/flashfiler/readme-turbopower.txt @@ -0,0 +1,147 @@ +TurboPower FlashFiler 2 + + +Table of contents + +1. Introduction +2. Package names +3. Installation +4. FlashFiler Explorer functionality +5. String resources +6. Version history +6.1 Release 2.13 + +============================================== + + +1. Introduction + + + +This is a source-only release of TurboPower FlashFiler 2. It includes +designtime and runtime packages for Delphi 3 through 7 and C++Builder +3 through 6. + +For help files and a PDF manual, please see the tpflashfiler_docs +package on SourceForge (http://sourceforge.net/projects/tpflashfiler). + +For precompiled binaries of FlashFiler Server and the other FlashFiler +utilities, please see the tpflashfiler_bin package on SourceForge ( +http://sourceforge.net/projects/tpflashfiler). + +============================================== + +2. Package names + + +TurboPower FlashFiler 2 package names have the following form: + + FF2MKVV.* + ||| + ||+------ VV VCL version (30=Delphi 3, 35=C++Builder 3, 70=Delphi 7) + |+------- K Kind of package (R=runtime, D=designtime) + +-------- M Product-specific modifier, typically an underscore + +For example, the FlashFiler 2 runtime package files for Delphi 7 have +the filename FF2_R70.*. + +The runtime package contains the core functionality of the product and +is not installed into the IDE. The designtime package references the +runtime package, registers the components, and contains property +editors used in the IDE. + +============================================== + +3. Installation + + +To install TurboPower FlashFiler 2 into your IDE, take the following +steps: + + 1. Unzip the release files into a directory (e.g., d:\ff2). + + 2. Start Delphi or C++Builder. + + 3. Add the source subdirectory (e.g., d:\ff2\source) to the IDE's + library path. + + 4. Open & compile the runtime package specific to the IDE being + used. + + 5. Open & install the designtime package specific to the IDE being + used. The IDE should notify you the components have been + installed. + +============================================== + +4. FlashFiler Explorer functionality + +The CSV Import functionality was copyrighted by another party and +permission was given to TurboPower to use the functionality only in +the commercial version of FlashFiler 2.. That functionality has been +removed from the open source distribution of FlashFiler Explorer. + +============================================== + +5. String resources + +Most of FlashFiler's error messages are stored in string resource +files having the extension STR. If you change these files, you must +recompile them using the TurboPower String Resource Manager located at +http://sourceforge.net/projects/tpsrmgr + +============================================== + +6. Version history + + +6.1 Release 2.13 + + Please note that the following issue #s are from Bugzilla. These + bugs were not exported to SourceForge. + + + Enhancements + ------------ + + 4043 - Allow FFCheckValToString to return ref number for BLOB fields + 4112 - Restructure: Support conversion of strings to integers + + Bugs fixed + ---------- + + 3403 - Unable to change string field to blob memo field in restructure + 3870 - BDE2FF, invisible target database + 3915 - INSERT: Value of string field truncated to 255 chars + 4003 - Params do not support BLOB field type + 4025 - AutoInc field in SQL result set should be returned as type fftAutoInc + 4028 - Incorrect count() value with LEFT OUTER JOIN + 4029 - Field alias not resolved in WHERE clause + 4030 - When not waiting for a reply, Legacy transport no longer raises lost + connection event in 2.12 + 4031 - Result set does not contain values for subselect + 4032 - If TffDatabase closed before child TffQuery then AV may occur in + SQL engine + 4037 - Index count not updated if use Table.AddIndex + 4038 - '<>' operator does not take NULL values into consideration + 4039 - Query returns empty result set + 4042 - Server should not prompt for password during auto-start-up + 4046 - Table modified by INSERT/UPDATE/DELETE may be closed prior to + transaction commit + 4048 - StartTransactionWith error handling may return incorrect result + 4061 - TffClient does not use registry server name for explicit transport + components + 4070 - "select field, count(*)" returns zero for count + 4077 - Service should use recovery engine that does not require user interface + 4084 - Restored connection re-opens query before preparing the query + 4095 - INSERT should validate column types & number of source columns + 4107 - TffServerCommandHandler.nmDatabaseAddAlias has incorrect format string + 4126 - Cursors pending close may not be freed at end of transaction + 4140 - Pack incorrectly increments NextFlushPoint + 4143 - SQL engine raises 'Not found' error on nested join + 4144 - Server UI Avs if reset counters or right click on transport when server + is down + 4160 - Calling BLOBWrite followed by BLOBTruncate can eventually lead to + corupted BLOB + 4167 - Initial sorting for DISTINCT should be case-sensitive + 4168 - SQL: SUM(x)/(2) does not give same result as SUM(x)/2 diff --git a/components/flashfiler/readme.txt b/components/flashfiler/readme.txt index c20291ad2..88ae6efdd 100644 --- a/components/flashfiler/readme.txt +++ b/components/flashfiler/readme.txt @@ -1,35 +1,73 @@ -TurboPower FlashFiler2 Lazarus port -Used original version:tpflashfiler_2_13 from SourceForge -https://sourceforge.net/projects/tpflashfiler/ +-------------------------------------------------------------------------------- +About +-------------------------------------------------------------------------------- +This is a Lazarus port of the TurboPower FlashFiler Database. +I used the version tpflashfiler_2_13 from SourceForge +(https://sourceforge.net/projects/tpflashfiler/). + +Detailed help and documentation files are located there. +More port infos are in sourcelaz\LazConvertReadMe.txt -Port infos are in sourcelaz\LazConvertReadMe.txt +-------------------------------------------------------------------------------- +Preparation +-------------------------------------------------------------------------------- +Download the server binaries from +https://sourceforge.net/projects/tpflashfiler/files/tpflashfiler/2.13/tpflashfiler_bin.zip/download +and store them in the folder server_files. -Lazaruspackage is in folder packages: lazff2.lpk -Look the image for folderstructre. I zipped only changed files. Other files are located on sourceforge. -In finalversion will be inclued all and published on github/sourceforge/.. +-------------------------------------------------------------------------------- +Installation +-------------------------------------------------------------------------------- +Use package file lazff2.lpk from folder packages. -*** -NO MORE BORLAND CODE, It uses now TExprParser from fssql. - sourcelaz\lazdbcommon.pas ->since 2016.05.04: (lazcommon.pas and lazconsts.pas) - sourcelaz\LazDbComSqlTimSt.pas <--- used in lazdbcommon.pas - To disable Delphi units define in ffdefine.inc: (compiles without delphi units) - {$DEFINE DONTUSEDELPHIUNIT} //Disables in ffdb.pas the function TffDataSet.dsCreateLookupFilter - //if it called then it raises exception! -************** -FOR EXAMPLES configure server (flashfiler\bin\ffserver.exe) and -make 2 aliases in [ffserver-Menu > Config > Aliases ... ] +-------------------------------------------------------------------------------- +Usage +-------------------------------------------------------------------------------- +1.) Start server_files\ffserver.exe +2.) Make 2 db-aliases in ffserver [ffserver-Menu > Config > Aliases ...] Alias: Path: mythicdb yourfolder\flashfiler\examples\mythicdb Tutorial yourfolder\flashfiler\examples +3.) Open FlashFiler Server General Configuration Dialog + [ffserver-Menu > Config > General ...] +4.) In configuration dialog Enter for Server name: + local + then Click Ok. +5.) Now the server "local" appears in Servers listview. Click on it and start it. +6.) Now open any example from examples-folder and compile, run and enjoy it. + Attention: EmbeddedServer-Examples don't work! - -THERE IS TEXPRPARSER in: - -JVCL JvExprParser.pas - -TXQuery QExprYacc.pas with MozillaPublicLicense - -Have fun! -Soner A. \ No newline at end of file +-------------------------------------------------------------------------------- +Changes +-------------------------------------------------------------------------------- +State of the Lazarus port: +10.12.2016: Client components are Working. Server components has error so you need server binaries compiled with delphi. + + +ToDo: +Solve server components error. The error is located in fflldict.pas-file in procedure TffDataDictionary.ReadFromStream(S : TStream); +It is stream reading error with caused by functions ReadString and ReadInteger. +I could not solve it, maybe someone with better skills can do it. + + +-------------------------------------------------------------------------------- +License +-------------------------------------------------------------------------------- +Same as TurboPower FlashFiler (MPL 1.1.) + + +-------------------------------------------------------------------------------- +Author +-------------------------------------------------------------------------------- +Turbo Power +Lazarus Port Soner a. + + +-------------------------------------------------------------------------------- +Version +-------------------------------------------------------------------------------- +tpflashfiler_2_13-20161210 diff --git a/components/flashfiler/server_files/--put_server_binaries_here-- b/components/flashfiler/server_files/--put_server_binaries_here-- new file mode 100644 index 000000000..fd273bebd --- /dev/null +++ b/components/flashfiler/server_files/--put_server_binaries_here-- @@ -0,0 +1,4 @@ +Put the server binaries in this folder. + +The files can be downloaded from +https://sourceforge.net/projects/tpflashfiler/files/tpflashfiler/2.13/tpflashfiler_bin.zip/download \ No newline at end of file