Board index » delphi » What have I done?

What have I done?


2004-11-10 07:38:59 PM
delphi27
Hi all,
I hope that this is vaguely in the direction of an appropriate ng. One
of the M$ ngs would probably be nearer but us Delphi types must stick
together. :) Anyway, I am sure it is a very simple problem.
Last night I had a bit of a system clean. I thought I was being *very*
conservative but, obviously not. Any of the apps that previously worked
using DirectShow, do not.
I'm getting a E_POINTER error returned from the line:
CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, FGraph)
where FGraph is IGraphBuilder.
It's not my code and I am much more of a DB person so I am don't know too
much about what it is doing. I have put a breakpoint in there and FGraph is
nil, if that is any use.
I've redownloaded Direct-everything-that-I-find from M$ and reinstalled.
I've reinstalled DSPack and I have recompiled the package that uses
DirectShow.
What have I missed, please?
TIA
 
 

Re:What have I done?

"Michel Fornengo" <XXXX@XXXXX.COM>wrote in
Quote
Hi,

COM is not initialized.

Add "ComObj" in the "Uses" clause of your unit.

Michel.

Hi Michel,
Thatnks ofr that but it is already there. I haven't touched the code. If I
had I could have figured it out by back-tracking. it is something outside.
Apps that worked perfectly last evening now don't work and they all give
the same error after I did a (gentle, though it would appear not-gentle-
enough) clean-up.
Thanks
 

Re:What have I done?

Hi,
COM is not initialized.
Add "ComObj" in the "Uses" clause of your unit.
Michel.
Datastead Software
www.datastead.com
"Ian Jennings" <XXXX@XXXXX.COM>a écrit dans le message de news:
XXXX@XXXXX.COM...
Quote
Hi all,

I hope that this is vaguely in the direction of an appropriate ng. One
of the M$ ngs would probably be nearer but us Delphi types must stick
together. :) Anyway, I am sure it is a very simple problem.

Last night I had a bit of a system clean. I thought I was being *very*
conservative but, obviously not. Any of the apps that previously worked
using DirectShow, do not.

I'm getting a E_POINTER error returned from the line:

CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, FGraph)

where FGraph is IGraphBuilder.

It's not my code and I am much more of a DB person so I am don't know too
much about what it is doing. I have put a breakpoint in there and FGraph is
nil, if that is any use.

I've redownloaded Direct-everything-that-I-find from M$ and reinstalled.
I've reinstalled DSPack and I have recompiled the package that uses
DirectShow.

What have I missed, please?

TIA
 

Re:What have I done?

Ian Jennings <XXXX@XXXXX.COM>wrote in
Quote
I've redownloaded Direct-everything-that-I-find from M$ and reinstalled.
I've reinstalled DSPack and I have recompiled the package that uses
DirectShow.

What have I missed, please?
To follow-up with the solution:
It was nothing to do with Delphi or DirectShow or com. When I ran cleanmgr
last evening it barfed at some point (there's a fix when it stops at 5%)
and I had to go again with it. I am wondering if it decided that then would
be a good point to toast my Realtek player. Ergo, no drivers and no sound
at all.
HTH
 

Re:What have I done?

Ian Jennings <XXXX@XXXXX.COM>wrote in
Quote
Last night I had a bit of a system clean. I thought I was being
*very* conservative but, obviously not. Any of the apps that
previously worked using DirectShow, do not.

I'm getting a E_POINTER error returned from the line:

CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, FGraph)

where FGraph is IGraphBuilder.
Seem like you've removed a codec or driver. I would re-install video
drivers, sound card drivers, drivers for any capture cards you have,
and Media Player.