![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi и FilterGraph [D7]
Godod © (2011-01-25 10:45:00)Здравствуйте.Возникла проблема с 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 и т.д.
Как можно избавится от этого?
KilkennyCat (2011-02-02 15:25:00) [1]
> Как в этом случаи поступить?
научиться пользоваться Делфи.
> И. Павел © (25.01.11 18:46) [15]
> Я считаю, что если в дельфи установлены библиотеки, которые
> удалены только частично и про которых разработчик уже забыл
> и запутался в них, то ИМХО лучше все переустановить, чем
> лазить по папкам, вычищая библиотеки.
>
в случае такой каши и с таким подходом, переустановить придется тотально, с уничтожением всех разделов на всех винтах.
нет никакой трудности очистить вручную и винт, и реестр, причем и то и другое необходимо только если хочется побольше места на винте и пошустрее работу. Для этого даже программистом не надо быть.
Godod (2011-02-02 13:45:00) [2]В общем ситуация теперь такая. 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 не видит вообще. Как в этом случаи поступить?
Дмитрий Белькевич (2011-01-25 20:56:00) [3]Ну, в принципе, если ничего особенно ставить не нужно - то можно и делфю ножичком по шее.
Но лучше один раз разобраться, чем постоянно переставлять.
И. Павел (2011-01-25 18:46:00) [4]
> Дмитрий Белькевич, Ega23 ©
Я считаю, что если в дельфи установлены библиотеки, которые удалены только частично и про которых разработчик уже забыл и запутался в них, то ИМХО лучше все переустановить, чем лазить по папкам, вычищая библиотеки.
Кроме того, скорее всего автор - начинающий программист, так что я решил, что переустановка была бы проще. Тем более, что не факт, что библиотеки сейчас стоят прямо, и не факт, что не установлены их старые версии.
Godod (2011-01-25 16:58:00) [5]=)Спасибо, уже программа с компилировалась)
Ega23 (2011-01-25 16:53:00) [6]
> Знаю по своему опыту, что если возникает подобная ситуация
Ужас. Не, ну по молодости-дурости, конечно, Delphi несколько раз переставлял.
Но совет такой - как-то совсем жестоко. Сразу уже тогда и винду снести, чтобы реестр не чистить.
Дмитрий Белькевич (2011-01-25 16:23:00) [7]
> Знаю по своему опыту, что если возникает подобная ситуация,
> то лучше удалить Delphi начисто (включая чистку папок и
> реестра) и переустановить вместе со всеми библиотеками 3-
> их лиц (читая при этом readme.txt к этим библиотекам, раздел
> install и выполняя все как там написано). Я бы порекомендовал
> поступить именно так.
Жесть какая.
И. Павел (2011-01-25 16:01:00) [8]> FilterGraph
Знаю по своему опыту, что если возникает подобная ситуация, то лучше удалить Delphi начисто (включая чистку папок и реестра) и переустановить вместе со всеми библиотеками 3-их лиц (читая при этом readme.txt к этим библиотекам, раздел install и выполняя все как там написано). Я бы порекомендовал поступить именно так. И еще: определитесь в том, что такое FilterGraph, какому классу он должен принадлежать, где размещен этот класс и как создавать саму переменную.
Godod (2011-01-25 14:27:00) [9]Так теперь сделалось так. Я убрал старый путь. Теперь он не выдает ошибку насчет filtergraph: Tfiltergraph, но при компиляции говорит, что TFilterGraph не объявленный компонент
Godod (2011-01-25 14:20:00) [10]Как убрать инсталяцию компонентов в проекте, если их сейчас нет?
Godod (2011-01-25 14:18:00) [11]В общем я понял кажется почему не находит фильтр. Когда я нажимаю Найти декларацию(помощь) по TFilterGraph, delphi выдает путь, который был раньше на делфи. Видно в прошлый раз я накосячил и теперь оно требует старый путь. Буду разбираться
И. Павел (2011-01-25 11:51:00) [12]> Вот пути в опциях
FilterGraph это объект, который создается внутри библиотеки? Это точно?
Если нет, то попробуйте написать: FilterGraph := TFilterGrapt.Create(<тут не знаю чего - посмотрите, какую подсказку вам выведет Delphi>);
Godod (2011-01-25 11:47:00) [13]Вот пути в опциях
Godod (2011-01-25 11:47:00) [14];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;
И. Павел (2011-01-25 11:42:00) [15]Значит не все пути поиска прописаны. Тоже такое было с альфаконтролами. Поищите, в каком файле объявлена эта переменная и добавьте путь к ней в librarypath.
Может это вообще не объект а тип компонента и его нужно вручную создать или на форму положить?
Плохиш (2011-01-25 11:39:00) [16]
> Godod © (25.01.11 11:35) [2]
> FilterGraph должен находит, а он его не видит
Подай в суд на разработчиков делфи. Ну, или найми программиста.
Godod (2011-01-25 11:35:00) [17]FilterGraph входит в комплектацию DSPack, а он установлен без каких-либо проблем, т.е. FilterGraph должен находит, а он его не видит
И. Павел (2011-01-25 11:18:00) [18]> ему неизвестен идентификатор FilterGraph,Filter1
Если вам известно, где эти переменные объявлены, включите их модуль в uses.
Но, скорее всего, код скопирован откуда-то. Так что в нем лучше сперва разобраться. Тогда и такие вопросы не будут возникать.