动态创建DSPack控件并播放视频内容,下面的代码为什么不行?(20分)

  • 主题发起人 主题发起人 maohbao
  • 开始时间 开始时间
M

maohbao

Unregistered / Unconfirmed
GUEST, unregistred user!
var
videoWindow:TVideoWindow;
filterGraph:TFilterGraph;
begin
videoWindow:=TVideoWindow.Create(self);
filterGraph:=TFilterGraph.Create(self);
filterGraph.GraphEdit:=false;
filterGraph.LinearVolume:=true;
filterGraph.Active:=true;
filterGraph.ClearGraph;
videoWindow.FilterGraph:=filterGraph;
videoWindow.VMROptions.Mode:=vmrWindowed;
videoWindow.Left:=300;
videoWindow.Top:=300;
videoWindow.Height:=100;
videoWindow.Width:=100;
filterGraph.RenderFile('c:/a.rm');
filterGraph.Play();
end;

上面的代码运行时报错说引用了非法的地址,并且指向如下的错误地点:
procedure TFilterGraph.ControlEvents(Event: TControlEvent; Param: integer = 0);
var i: integer;
begin
if FGraphEvents <> nil then
for i := 0 to FGraphEvents.Count - 1 do
IEvent(FGraphEvents.Items).ControlEvent(Event, param); //指向此行出错
end;

因我是delphi新手,请求帮助分析可能是什么原因,谢谢!
上面动态创建控件的代码是我根据可视化创建控件时自动生成的代码写出来的。
 
我也是,你放的RM
 
后退
顶部