Difference between revisions of "FPC Cleanroom"

From Lazarus wiki
Jump to navigationJump to search
Line 104: Line 104:
  
 
'''Specifications'''
 
'''Specifications'''
 +
 +
RefreshLookupList should be called to reload the lookup cache. This is used, for example, when setting the LookupCache property at run-time, or after changing the properties LookupResultField, LookupKeyFields and LookupDataSet.
 +
 +
'''Related to'''
 +
 +
* TField.LookupCache
 +
* TField.LookupDataSet
 +
* TField.LookupKeyFields
 +
* TField.LookupList
 +
* TField.LookupResultField

Revision as of 11:38, 9 March 2008

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

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:

[1]

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

RefreshLookupList should be called to reload the lookup cache. This is used, for example, when setting the LookupCache property at run-time, or after changing the properties LookupResultField, LookupKeyFields and LookupDataSet.

Related to

  • TField.LookupCache
  • TField.LookupDataSet
  • TField.LookupKeyFields
  • TField.LookupList
  • TField.LookupResultField