New (RecordsetCursor constructor): Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
m (1 revision)
(No difference)

Revision as of 22:48, 26 April 2011

Create a new RecordsetCursor object (RecordsetCursor class)


This shared function instantiates a RecordsetCursor object. The method requires a Recordset or SortedRecordset object parameter, and it may have a LoopLockStrength.

Available as of Sirius Mods version 7.6, the New method is an alternative to using the (Recordset or SortedRecordset) Cursor constructor, as described in "Declaration and instantiation".

Syntax

%recordsetCursor = [%(RecordsetCursor In filOrGrp name):]New( recordset, - [LoopLockStrength= lockStrength])

Syntax terms

%rscursor A declared RecordsetCursor object including its file/group context.
class Either a parenthesized class name, as in %(RecordsetCursor in file bar), or a non-parenthesized variable in the class, as in %rscursor.
%recset A required Recordset or SortedRecordset object.
LoopLockStrength This optional, name required, parameter is a LockStrength enumeration setting the minimum lock strength for a record in a For Record At loop on a RecordsetCursor object. Options are None (default), Share, or Exclusive, further described in CurrentRecord.

For more information about loop lock strength, see "LoopLockStrength for RecordsetCursors".
Note: This parameter is only valid if %recset is a Recordset object.

Usage notes

  • If %recset is empty, New returns a RecordsetCursor object with the state Empty. This is different from the Cursor methods of instantiation, which return a null if %recset is empty.
  • When a RecordsetCursor is instantiated, it is automatically positioned on the first record in the set (state=HasRecord).
  • You can have as many cursors as you want for a RecordsetCursor.
  • If you are creating an extension class of the RecordsetCursor class, you can use New in the Construct statement in the extension class:

    class myrecSetCurse extends RecordsetCursor - in file test inherit ... constructor new construct %(RecordsetCursor):new(%sortedRecset) ... end constructor ... end class

    The Cursor method constructor cannot be used for this purpose.

See also