This event is executed before the create event for the window and allows you to circumvent the normal event processing that creates the DataSet used by the window.


bforward = DSOINSTANCE (ctrlentID, ctrlclassID, DSOName, XOName, DSHandle, XOHandle, flags)


DSOINSTANCE accepts arguments for the following parameters.

ctrlentIDHas the format WindowName.ControlName, where WindowName is the identifier of the window that contains the affected control, and ControlName is the identifier of the control. Notice that a period separates the two values.
ctrlclassIDThe type of control that recognizes the event. The window control type is the only valid entry.
DSONameThe name of the DataSet instance.
XONameThe name of the Connection object used to establish the DataSet.
DSHandleThe DataSet handle passed back to DSOINSTANCE.
XOHandleThe Connection object handle passed back to DSOINSTANCE.

An @FM delimited array. Refer to the XO_EQUATES and DS_EQUATES records for the layout of these options.

1The options used for the XOInstance call.
2The options used for the DSInstance call.


True or false. If false, then program execution returns to the calling procedure. If true, then event processing goes to the next level.

See also

XOInstance()DSMethod (DS_ADDREF$)


The DSOINSTANCE event allows you to supply a DataSet instance programmatically. For example, if you create a DataSet that contains look-up information, like code tables, and you store the DataSet handle globally so multiple forms can use it, you can supply that DataSet to a form in the DSOINSTANCE event. Since an additional form will be using the DataSet, you must increment the reference count for the DataSet using the DSMethod DS_ADDRESS$ or the DataSet will be destroyed when the form is destroyed. If you supply the DataSet, then return 0 from the event handler.

  • No labels