Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.08;
Скачать: CL | DM;

Вниз

Delphi и FilterGraph   Найти похожие ветки 

 
Godod ©   (2011-01-25 10:45) [0]

Здравствуйте.Возникла проблема с FilterGraph в delphi 2007(code gear). В общем при объявлении используемых компонентов все нормально, delphi не ругается. Вот код:
[CODE]uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, DSPack,DSUtil, ComCtrls, Spin,DirectShow9,
 Grids, ValEdit, DBGrids, Menus, ActnList,ComObj, CoolTrayIcon,
 Inifiles;[/CODE]

Но когда при компиляции доходит до:
[CODE]procedure TForm1.OnSelectDevice;
begin
 FilterGraph.ClearGraph;
 FilterGraph.Active := false;
 Filter1.BaseFilter.Moniker := VideoDevice.GetMoniker(Combobox1.ItemIndex);
 FilterGraph.Active := true;
 with FilterGraph as ICaptureGraphBuilder2 do
   RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter1 as IBaseFilter, SampleGrabber as IBaseFilter, VideoWindow as IbaseFilter);
 FilterGraph.Play;
end;[/CODE]

delphi выдает много ошибок, что ему неизвестен идентификатор FilterGraph,Filter1 и т.д.
Как можно избавится от этого?


 
И. Павел ©   (2011-01-25 11:18) [1]

> ему неизвестен идентификатор FilterGraph,Filter1

Если вам известно, где эти переменные объявлены, включите их модуль в uses.
Но, скорее всего, код скопирован откуда-то. Так что в нем лучше сперва разобраться. Тогда и такие вопросы не будут возникать.


 
Godod ©   (2011-01-25 11:35) [2]

FilterGraph входит в комплектацию DSPack, а он установлен без каких-либо проблем, т.е. FilterGraph должен находит, а он его не видит


 
Плохиш ©   (2011-01-25 11:39) [3]


> Godod ©   (25.01.11 11:35) [2]


> FilterGraph должен находит, а он его не видит

Подай в суд на разработчиков делфи. Ну, или найми программиста.


 
И. Павел ©   (2011-01-25 11:42) [4]

Значит не все пути поиска прописаны. Тоже такое было с альфаконтролами. Поищите, в каком файле объявлена эта переменная и добавьте путь к ней в librarypath.
Может это вообще не объект а тип компонента и его нужно вручную создать или на форму положить?


 
Godod ©   (2011-01-25 11:47) [5]

;D:\CodeGear\RADSTU~1\5.0\lib\DSPack\src\Directx9;D:\CodeGear\RADSTU~1\5.0\lib\D SPack\src\DSPack;D:\CodeGear\RADSTU~1\5.0\lib\JCL\lib\d11;D:\CodeGear\RADSTU~1\5 .0\lib\JCL\source\include;D:\CodeGear\RADSTU~1\5.0\lib\CoolTrayIcon;


 
Godod ©   (2011-01-25 11:47) [6]

Вот пути в опциях


 
И. Павел ©   (2011-01-25 11:51) [7]

> Вот пути в опциях

FilterGraph это объект, который создается внутри библиотеки? Это точно?
Если нет, то попробуйте написать: FilterGraph := TFilterGrapt.Create(<тут не знаю чего - посмотрите, какую подсказку вам выведет Delphi>);


 
Godod ©   (2011-01-25 14:18) [8]

В общем я понял кажется почему не находит фильтр. Когда я нажимаю Найти декларацию(помощь) по TFilterGraph, delphi выдает путь, который был раньше на делфи. Видно в прошлый раз я накосячил и теперь оно требует старый путь. Буду разбираться


 
Godod ©   (2011-01-25 14:20) [9]

Как убрать инсталяцию компонентов в проекте, если их сейчас нет?


 
Godod ©   (2011-01-25 14:27) [10]

Так теперь сделалось так. Я убрал старый путь. Теперь он не выдает ошибку насчет filtergraph: Tfiltergraph, но при компиляции говорит, что TFilterGraph не объявленный компонент


 
И. Павел ©   (2011-01-25 16:01) [11]

> FilterGraph

Знаю по своему опыту, что если возникает подобная ситуация, то лучше удалить Delphi начисто (включая чистку папок и реестра) и переустановить вместе со всеми библиотеками 3-их лиц (читая при этом readme.txt к этим библиотекам, раздел install и выполняя все как там написано). Я бы порекомендовал поступить именно так. И еще: определитесь в том, что такое FilterGraph, какому классу он должен принадлежать, где размещен этот класс и как создавать саму переменную.


 
Дмитрий Белькевич   (2011-01-25 16:23) [12]


> Знаю по своему опыту, что если возникает подобная ситуация,
>  то лучше удалить Delphi начисто (включая чистку папок и
> реестра) и переустановить вместе со всеми библиотеками 3-
> их лиц (читая при этом readme.txt к этим библиотекам, раздел
> install и выполняя все как там написано). Я бы порекомендовал
> поступить именно так.


Жесть какая.


 
Ega23 ©   (2011-01-25 16:53) [13]


> Знаю по своему опыту, что если возникает подобная ситуация

Ужас. Не, ну по молодости-дурости, конечно, Delphi несколько раз переставлял.
Но совет такой - как-то совсем жестоко. Сразу уже тогда и винду снести, чтобы реестр не чистить.


 
Godod ©   (2011-01-25 16:58) [14]

=)Спасибо, уже программа с компилировалась)


 
И. Павел ©   (2011-01-25 18:46) [15]


> Дмитрий Белькевич, Ega23 ©

Я считаю, что если в дельфи установлены библиотеки, которые удалены только частично и про которых разработчик уже забыл и запутался в них, то ИМХО лучше все переустановить, чем лазить по папкам, вычищая библиотеки.

Кроме того, скорее всего автор - начинающий программист, так что я решил, что переустановка была бы проще. Тем более, что не факт, что библиотеки сейчас стоят прямо, и не факт, что не установлены их старые версии.


 
Дмитрий Белькевич   (2011-01-25 20:56) [16]

Ну, в принципе, если ничего особенно ставить не нужно - то можно и делфю ножичком по шее.

Но лучше один раз разобраться, чем постоянно переставлять.


 
Godod ©   (2011-02-02 13:45) [17]

В общем ситуация теперь такая. Delphi(codegear) не видит компонентов, причем все компилируется, правда выдает что не найден компонент, и из-за этого программа не работает. В
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DSPack,DSUtil, ComCtrls, Spin,DirectShow9,
Grids, ValEdit, DBGrids, Menus, ActnList,ComObj, CoolTrayIcon,
Inifiles;

когда нажимаешь Find Declaration он находит все нормально(например DSPack). В опциях добавлены пути DSPack,CoolTrayIcon, DirectShow9. В моих документах есть bpl файлы компиляции, но в программе TFilterGraph, VideoWindow,TCoolTrayIcon не видит вообще. Как в этом случаи поступить?


 
KilkennyCat ©   (2011-02-02 15:25) [18]


> Как в этом случаи поступить?

научиться пользоваться Делфи.

> И. Павел ©   (25.01.11 18:46) [15]

> Я считаю, что если в дельфи установлены библиотеки, которые
> удалены только частично и про которых разработчик уже забыл
> и запутался в них, то ИМХО лучше все переустановить, чем
> лазить по папкам, вычищая библиотеки.
>


в случае такой каши и с таким подходом, переустановить придется тотально, с уничтожением всех разделов на всех винтах.

нет никакой трудности очистить вручную и винт, и реестр, причем и то и другое необходимо только если хочется побольше места на винте и пошустрее работу. Для этого даже программистом не надо быть.



Страницы: 1 вся ветка

Текущий архив: 2011.05.08;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.007 c
2-1296743902
Женя
2011-02-03 17:38
2011.05.08
Таймер


15-1295421443
Unknown_user
2011-01-19 10:17
2011.05.08
Изменение структуры БД


3-1258102915
aleks
2009-11-13 12:01
2011.05.08
Нужна ли установка MSSQL на компьютере клиента?


2-1296293177
Gu
2011-01-29 12:26
2011.05.08
Определить разрядность ОС


15-1296083374
Германн
2011-01-27 02:09
2011.05.08
TListView с группами