Einzelnen Beitrag anzeigen

chris_82

Registriert seit: 26. Aug 2003
112 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Bekomm immer eine Zugriffsverletzung

  Alt 26. Nov 2003, 08:22
Danke für den Tipp mit dieser Procedure Get Devices, ich denk mal so ist es die bessere Lösung, aber daran liegts nicht.

Aber ich hab vergessen die Klassen Filtergraph, Filter und SampleGrabber zu initialisieren. Daran wird es wohl liegen, da ich ja auf etwas zugreife was noch gar nicht im Speicher vorhanden ist.
Hab ich nun gemacht, aber die Methode Create möchte immer noch einen Parameter vom Typ TComponent übergeben habe.

Ich denk ja mal da muss ich das VideoWindow übergeben, oder lieg ich da falsch?

Habs jedenfalls mal versucht:

Delphi-Quellcode:
procedure TCapSource.StartCapture(Lbindex:integer; VideoWindow:TVideoWindow);
begin
  Filtergraph:=TFiltergraph.Create(VideoWindow);
  Filter:=TFilter.Create(VideoWindow);
  SampleGrabber:=TSampleGrabber.Create(VideoWindow);
  Filtergraph.ClearGraph;
  Filtergraph.Active:=False;
  Filter.BaseFilter.Moniker := Capenum.GetMoniker(Lbindex);
  FilterGraph.Active := True;

  with Filtergraph as ICaptureGraphBuilder2 do
   RenderStream (@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter,
   SampleGrabber as IBaseFilter, VideoWindow as IBaseFilter);
   FilterGraph.Play;
end;
Aber nun bekomme ich an der Stelle

 with Filtergraph as ICaptureGraphBuilder2 ... eine Exception, die sagt Schnittstelle nicht unterstützt.
....oop und nun...??
http://www.sengewald.info
  Mit Zitat antworten Zitat