아래와 같이 바꾸어 봤는데... 답이 틀리면 다시 질문 하십시요.
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
lsImage : String;
procedure EnterFilterList( poGraph : IFilterGraph );
var
lsCaption : String;
loMenu : TMenuItem;
EnumFilters : IEnumFilters;
BaseFilter : IBaseFilter;
FilterInfo : TFilterInfo;
begin
poGraph.EnumFilters( EnumFilters );
while ( EnumFilters.Next( 1, BaseFilter, nil ) = S_OK ) do
begin
BaseFilter.QueryFilterInfo( FilterInfo );
lsCaption := FilterInfo.achName;
loMenu := TMenuItem.Create( Self );
loMenu.Caption := lsCaption;
loMenu.OnClick := MenuClick;
N21.Add( loMenu );
end;
end;
begin
lsImage := 'E:\josgogi.mpg';
for i := N21.Count - 1 downto 0 do
N21.Remove( N21.Items[ i ] );
with FilterGraph do
begin
ClearGraph;
FilterGraph2.RenderFile( StringToOleStr( lsImage ), nil );
EnterFilterList( FilterGraph2 ); // <- 바뀐 부분
QueryInterfaces;
MediaControl.Run;
end;
end;
|