Click to See Complete Forum and Search --> : Help DCOM HTTP


simi
December 10th, 1999, 06:45 PM
I have a component on a web server that is configured correctly (so i believe) that allows a component on a browser to talk to it via dcom http.

The server component is fired up in the OnShow event of the control. The server component runs through successfully but errors when returning the recordset.

The error is
-2147287010 (8003001E) A disk error occurred during a read operation.

Which does not make sense.

The component is defiend as
public getRS(QueryName as string, Params as MyCollection, Error as ErrObject) as ADODB.Recordset

I call this function with a hard coded QueryName value and sending it a collection of parameters, but the error occurs on the browser when trying to return.

One thought is as my queryname is hard coded and I have not specified ByVal then is it erroring on returning the QueryName string and it can not store it in the hard coded string. This to me seems unlikely as it always works for other DCOM components.

Any suggestions would be greatly appreciated

Please also email me at ds@infra.com.au

Thank you

David Stephen

Chizl
December 10th, 1999, 09:17 PM
Try pass back as Variant instead of RecordSet.. I have found that in some cases this resolved my problems, but the mistery still exist.

--
Chizl
chizl@NOSPAM.karland.com
http://www.chizl.com/

David Stephen
December 12th, 1999, 05:51 PM
The problem seemed to be that I could not pass back an ErrObject object in the function. Taking that out (and using a Long and a string in its place) seemed to work.
Recordsets can be passed, ErrObject could not be passed.

Chizl
December 12th, 1999, 09:23 PM
That is a major problem in VB and has been around for some time. Something about passing back the err.number I had problems with when I release the DCOM32.OCX that Microsoft put on their site back in 1997. Don Box actually emailed me about using err.Raise instead of the way I did my error traps, but that is when I fell into the problem that your having and ended up leaving it the way it is. It would change my error number if I tried passing back the err that Err.Number gave me and to this day haven't ever got around the problems so I just gave up. Since VB6 now did exactly what my OCX did for VB5 my OCX is worthless, but for VB5 developers it works great.. Sorry I can't help you and good luck if you find someone that can. I would like to know the solution if you run across it. You can find my OCX at http://www.karland.com/OurProducts/DCOM32/

--
Chizl
chizl@NOSPAM.karland.com
http://www.chizl.com/