New (RecordsetCursor constructor)
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 parameter.
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
%recordsetCursor | A RecordsetCursor object. |
---|---|
[%(RecordsetCursor In filOrGrp name):] | The optional class name in parentheses denotes a Constructor. See "Usage notes", below, for more information about invoking a RecordsetCursor Constructor. |
recordset | 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". |
Usage notes
- As described in "Using New or other Constructors", New can be invoked with no object, with an explicit class specification, or with an object variable in the class, even if that object is Null:
%rscursor = new %rscursor = %(RecordsetCursor in group fleet):new %rscursor = %rscursor:new
Note: As shown above, when explicitly indicating the class, both the class name and the file or group context must be specified just as they are on the RecordsetCursor variable's declaration.
- If recordset 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 Recordset function cannot be used for this purpose.