Ich hab zwar davon keine Ahnung, aber ich könnte mir denken, woran es liegt.
Du erstellst ja hiermit neue Filter und so.
Delphi-Quellcode:
Filtergraph:=TFiltergraph.Create(VideoWindow);
Filter:=TFilter.Create(VideoWindow);
SampleGrabber:=TSampleGrabber.Create(VideoWindow);
VideoWindow.FilterGraph:=Filtergraph;
SampleGrabber.FilterGraph:=Filtergraph;
Filter.FilterGraph:=Filtergraph;
Bei zweiten Aufruf existieren die aber schon und es entsteht deiser Fehler.
Es gibt demnach also zwei Lösungen:
1: Du fragst vorm erstellen ab, ob sie schon erstellt wurden und erstellst sie nur, wenn sie noch nicht existieren.
2: Oder du gibst die vorher schon erstellten vorher frei.
z.B.:
Delphi-Quellcode:
Filtergraph.Free;
Filter.Free;
SampleGrabber.Free;
...
(die Freigabe sollte aber auch nur gemacht werden, wenn was existiert)
http://www.FrankNStein.de/Smiley-Kuss.gif * *
http://www.FrankNStein.de/Smiley-Spinne.gif * * *
http://www.FrankNStein.de/Smiley-Winken.gif