Zitat von
Nils_13:
Meinst du das so ?
Delphi-Quellcode:
procedure TfrmMain.lbListMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if FGC= True then
begin
with frmVideo do
begin
if Filtergraph.Active then
begin
FilterGraph.Active := False;
FilterGraph.ClearGraph;
FilterGraph.Free;
FGC := False
end;
end;
end else
begin
with frmVideo do
begin
if not FilterGraph.Active then
FilterGraph.Active := true;
FilterGraph.Stop;
FilterGraph.ClearGraph;
FilterGraph.RenderFile(fFiles[playindex].pfad);
FilterGraph.play;
pause := True;
end;
end;
end;
JA !
Nur die abfrage 'if Filtergraph.Active then' benötigst du nicht mehr
das erledigt FGC nun an der stelle
Auch die anderen wie FilterGraph.Active := False; nicht.
All das erledigt nun die neue Variable unabhängig vom FilterGraph
Beim neustart bracuhst du auch die anderen sachen nicht.
Delphi-Quellcode:
if not FilterGraph.Active then
FilterGraph.Active := true;
FilterGraph.Stop;
FilterGraph.ClearGraph;
FilterGraph.RenderFile(fFiles[playindex].pfad);
FilterGraph.play;
pause := True;
Der FilterGraph.ClearGraph; muß nicht nochmal gelöscht werden!
Das geschieht bereits in der obigen abfrage.
FilterGraph.Stop; brauchst du auch nicht.
nur diese beiden
FilterGraph.RenderFile(fFiles[playindex].pfad);
FilterGraph.play;
etwa so ! Habe aber jetzt nicht auf die IF abfragen geachtet.
Delphi-Quellcode:
if FGC= True then
begin
with frmVideo do
begin
FilterGraph.Stop;
FilterGraph.ClearGraph;
FilterGraph.Free;
FGC := False
end;
end else
begin
with frmVideo do
begin
FilterGraph.RenderFile(fFiles[playindex].pfad);
FilterGraph.play;
FGC= True
pause := True;
end;
end;
gruß