Oracle Objects for OLE 2.2.2

OCX Data Control

Custom controls support

Oracle Data Control is a fully functional Visual Basic 5.0 Custom Control (OCX). It is compatible with any data aware bound control (OCX) that uses the Microsoft VB data binding specifications.

The following data aware controls have been tested with the Oracle Data Control and here are some comments. Other controls not listed here will work with the Oracle Data Control as long as they follow the Microsoft VB data binding specifications.

Microsoft Visual Basic Standard Controls

Tested Versions: VB 4.0 and VB 5.0

Edit control

Works fine with Oracle data control.

Static text control

Works fine with Oracle data control.

Picture box and Image control

The MS Picture box and MS Image Control work with the Oracle Data Control in both Visual Basic 4.0 and Visual Basic 5.0.

Long Raw data displayed through the Oracle Data Control is read only. To do adds or updates requires use of code (see AppendChunk method example code in online help for more information)

Microsoft Data Bound Listbox control

Does not respond to ORADC.UpdateRecord. Instead use MoveNext or MovePrevious to force the update.

Microsoft Data Bound Combobox control

Does not respond to ORADC.UpdateRecord. Instead use MoveNext or MovePrevious to force the update.

Microsoft Data Bound Grid control

The Scroll (ie DBGRID.Scroll) method of the grid will not work.

The Refresh (ie DBGRID.Refresh) method of the grid will not work. Use ORADC.Recordset.Refresh instead.

Sheridan Data Widgets

Tested Version: 2.0b Build 0186

Sheridan Data Bound Combo control

Works fine with Oracle Data Control.

Sheridan Data Bound Dropdown control

In order to use for lookup table (such as by setting DropDownHwnd property on Grid), set 'ListAutoValidate' property to FALSE otherwise the dropdown selection will not commit to the underlying field.

Sheridan Data Bound Grid control

Doing a delete when no rows are visible on grid (this can happen when you delete every row that is visible on the grid when there are more rows than one page worth), followed by doing a delete

on the empty looking grid will cause repainting problems. This should only be an issue if you have a loop of ORADC.Recordset.Delete since the user will not normally delete a row when one is not visible. One possible workaround is to add a MovePrevious followed by a MoveNext to each delete in the loop. This will cause Sheridan to keep at least one row visible on the grid throughout the deletes and will avoid the problem. Another workaround is to refresh after doing the deletes.

Performing AddNew on underlying dynaset (ala ORADC.Recordset.AddNew) when dynaset has not been fully fetched yet will result in OIP-4118 error. Workaround is do a MoveLast to force a full fetch, then call AddNew.

Related to the above problem, there may be other cases where Sheridan does not move to the last row when it is supposed to when all the rows have not yet been fetched. For example, this may occur when you call MoveLast on the grid itself (ala Grid.MoveLast) prior to all rows being fetched. To workaround any problem like that, call MoveLast on the underlying dynaset instead

(ORADC.Recordset.MoveLast).

Related to above problem, MoveRecords method of grid will move to the last row of all rows fetched so far if not all rows have been fetched yet.

The Refresh method of the grid (SSDBGRID1.Refresh) will do nothing. Use ORADC.Recordset.Refresh instead.

Sheridan Enhanced Data Control

Works fine with Oracle Data Control except for Find functionality which only works for "equals" case and only when no rows have been deleted.

FarPoint Data Bound Grid Control

Tested Version: 2.5.020

Access Violations will occur when bound to Long Raw when size of long raw minus 118 bytes is multiple of 32k. Farpoint has confirmed this bug and it should be fixed in a maintainece release of Spread. Please contact Farpoint for more information about how to obtain a fix.

After deleting the last row in the grid, Farpoint will not reposition on the new last row. Continuting to delete will succeed in deleting the new last row, but the deleted rows will not disappear from the grid. To workaround this add a MovePrevious and MoveNext to each delete in your code or call refresh when done deleting.

Apex True DBGrid Data Control

Should have the same issues as Microsoft Data Bound Grid control as noted above.