FPC Cleanroom
In 2007 it was found that some functions could need a new implementation because they were too similar to the implementation from Delphi. FPC 2.2.2 will be the first release after the cleanroom implementation of those routines.
The core FPC developers already know the old implementation, so impartial contributiors not familiar with the old code or the Delphi code need to be found. The functions alse need to be tested and specifications for them written.
Volunteers to implement the functions
- Vincent
- Almindor
Volunteers to write specs and test apps
- Sekelsenmat
- Joost
Downloading the cleanroom branch
One can download it using subversion with:
svn co http://svn.freepascal.org/svn/fpc/branches/cleanroom cleanroom
Or use viewcvs to view it:
Affected functions
The affected functions are marked with "tainted" on the branch.
TDataset.CalculateFields
location
cleanroom/packages/fpc-db/src/base/dataset.inc
declaration
Procedure TDataset.CalculateFields(Buffer: PChar);
Specifications
TDataset.DataEvent
location
cleanroom/packages/fpc-db/src/base/dataset.inc
declaration
Procedure TDataset.DataEvent(Event: TDataEvent; Info: Ptrint);
Specifications
TDataset.EnableControls
location
cleanroom/packages/fpc-db/src/base/dataset.inc
declaration
Procedure TDataset.EnableControls;
Specifications
Reactivates the displaying of data on screen after a call to DisableControls.
EnableControls should decrement the disabled count on the dataset, up to a minimum of zero. If it's zero, it will tell the controls using the dataset they can show their values on screen.
TDataLink.CalcFirstRecord
location
cleanroom/packages/fpc-db/src/base/datasource.inc
declaration
Function TDataLink.CalcFirstRecord(Index : Integer) : Integer;
Specifications
TField.CalcLookupValue
location
cleanroom/packages/fpc-db/src/base/fields.inc
declaration
procedure TField.CalcLookupValue;
Specifications
TField.RefreshLookupList
location
cleanroom/packages/fpc-db/src/base/fields.inc
declaration
procedure TField.RefreshLookupList;
Specifications