Im working with the VB6 Help Tutorial on "Creating Data Sources" - "Creating the MyOSPObject Class" which creates an OLE DB simple provider ActiveX dll.

I have a few questions:

1) I've modified the load procedure to load a custom file format. I run the program and set it to load a file, which it completes in 8 seconds. But when I close the app (stop it in the IDE) it takes roughly a 1:20 to return to the IDE. I've checked the order it runs in, and I get Form_Unload, and Class_Terminate() events, at which point there is the huge pause, then quickly Form_Terminate and Im back at the IDE. Its my best guess its the destruction of the large array that is taking so long. If so what on earth can I do to get it to work dare I say 'correctly'! That is an unreasonable amount of time for someone to wait for an app to close...

I have another project set up using a DataSource class. (Help - "Creating Data-Aware Classes") Its opening the same exact type of data into a recordset, this one using the full dataset (72,000 records), and setting the data source for a datagrid control to the datasource class. When I stop the execution of this project, it closes instantaneously.

2) What is the advantage/disadvantage of using the OLEDB Simple provider method for a custom data file format, as opposed to a DataSource class (Help - "Creating Data-Aware Classes").

3) Why, in the "Creating the MyOSPObject Class" example, is the first column in MyOSPArray() left blank. (Its just an extra column, never used, and invisible in the datagrid if data is assigned to it)

4) Is it possible to have MyOSPObject class create an ADODB.Recordset object, instead of an array?