This is the second SIGxxx exception I've come across, and I really don't like these *NIX messages.
What does this mean? That a signal is ill, or what? Of course it is... I'm on Windows, we don't have signals...
Well... Enough comedy.
Honestly, what does it mean?
Some code:
uses
DShow { and a bunch of other stuff }
Procedure TAnalyzer.Check(Result: HResult);
begin
If Failed(Result) Then
Raise Exception.Create(SysErrorMessage(Result));
end;
Function TAnalyzer.AnalyzeDirectX: Boolean;
Var Err : HResult;
Filename : WideString;
GraphBuilder : IGraphBuilder;
MediaControl : IMediaControl;
MediaEvent : IMediaEvent;
begin
Check(CoCreateInstance(CLSID_FilterGraph, Nil, CLSCTX_INPROC, IID_IGraphBuilder, GraphBuilder));
Try
Check(GraphBuilder.QueryInterface(IID_IMediaControl, MediaControl));
Check(GraphBuilder.QueryInterface(IID_IMediaEvent, MediaEvent));
Filename := UTF8ToSys(Files[FileIndex]);
Check(GraphBuilder.RenderFile(PWideChar(Filename), Nil)); // <--- Exception here!
Finally
MediaEvent := Nil;
MediaControl := Nil;
GraphBuilder := Nil;
End;
end;
Regards all!