Здравствуйте, 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 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))