Re: DirectShow TransForm Filter и Delphi
От: Hacker_Delphi Россия  
Дата: 08.12.03 18:34
Оценка:
Здравствуйте, ZZTopper, Вы писали:

ZZT>это — в имплементэйшне.

ZZT>
ZZT>function TDForm.AddFilterByCLSID(pGraph: IGraphBuilder;
ZZT>    GUID: TGUID; wszName: PWideChar; out ppF: IBaseFilter): HRESULT;
ZZT>var
ZZT>    pF              : IBaseFilter;
ZZT>    hr              : Hresult;
ZZT>begin
ZZT>    ppF := nil;
ZZT>    pf := nil;
ZZT>    hr := CoCreateInstance(GUID, nil, CLSCTX_INPROC_SERVER, IID_IBaseFilter,
ZZT>        pF);
// Вот тут ты не прав... а кто за тебе регистрировать его будет???
// И имплементировать?
ZZT>    if (SUCCEEDED(hr)) then
ZZT>        begin
ZZT>            hr := pGraph.AddFilter(pF, wszName);
ZZT>            if (SUCCEEDED(hr)) then
ZZT>                ppF := pF
ZZT>            else
ZZT>                pF._Release();
ZZT>        end;
ZZT>    Result := hr;
ZZT>end;
ZZT>

ZZT>И вот как я создаю обьект и вызываю его

ZZT>
ZZT>    AddFilterByCLSID((G as IGraphBuilder), CLSID_MyFilter,   'VDiag Filter', VDG);
ZZT>

ZZT>Но как только такой вызов — получаю AccessViolation в ntdll.dll
ZZT>
ZZT>(VDG as IVDiagFilter).SetParams(1013,RGB);
ZZT>

ZZT>Кто что подскажет?
... << RSDN@Home 1.1.2 beta 2 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.