Show/Hide Toolbars

Flynet Studio Core Navigation Properties

Navigation: Core Navigation Properties

The UIEntryField Generated Class

Scroll Prev Top Next More

This section is intended to provide developer-level information about the generated UIEntryField c# class.  This is the default data entry class for character mode hosts for UI projects.  For Web Service Projects, you need to set the UseFieldEntryClass property on the TaskProject true.

 

It is implemented as a class on a per-field basis, so that each field in an application has its own active object managing the data entry for that field.  Extension classes of UIEntryField can be implemented to handle literally any type of data entry.  For any extension, the UIEntryField class is the base class.

 

Note that the FieldEntryClass property can be used to change from the default class of UIEntryField to an extension of the class.  For example, for screens that use a field number to "jump" the cursor to that field instead of traditional tabbing around the screen, there is a provided class UIEntryByFieldID that can be specified for a whole screen and/or individual fields, using the FieldEntryClass property.

 

Extending UIEntryField

 

Implementors of a Flynet Web Service or UX application can add additional field entry classes and generate them into the target solution by including them in the Flynet Studio Resources folder tree.  When additional classes are written, they must extend the UIEntryField class in order to plug-in to the runtime framework.  Inside your Visual Studio Solution is the best place to implement the extension; to support further generations from Flynet Studio, define a VisualStudioFolderName property in your TaskProject and copy your UIEntryFieldxxx.cs file to the Tasks folder in the VisualStudioFolderName directory.

 

A careful consideration of implementing your own UIEntryField class extension is that no object-level members should be used as part of processing data entry.  This is because all of the methods like Enter can be called concurrently by many sessions as there will be only one object per process instantiated.  Any "scratch" variables used during the Enter method should be declared on the stack so that each call into Enter has its own session-specific data.