AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bekomm immer Fehlermeldung:Schnittstelle nicht unterstützt
Thema durchsuchen
Ansicht
Themen-Optionen

Bekomm immer Fehlermeldung:Schnittstelle nicht unterstützt

Ein Thema von chris_82 · begonnen am 25. Nov 2003 · letzter Beitrag vom 27. Nov 2003
 
chris_82

Registriert seit: 26. Aug 2003
112 Beiträge
 
Delphi 6 Enterprise
 
#1

Bekomm immer Fehlermeldung:Schnittstelle nicht unterstützt

  Alt 25. Nov 2003, 22:49
Schreib grad an nem Proggi zum darstellen eines Bildes einer Webcam, mittels DirectShow, verwende dazu das DSPack.

Möchte verschiedene Klassen verwenden. Bekomm nun aber beim initialisieren des Bildes immer ne Zugriffsverletzung, aber zu compilieren gehts? Woran kann das liegen?

Poste hier mal die beiden Klassen:

Hier die Klasse des Form:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,unit2, StdCtrls, DSPack;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    VideoWindow1: TVideoWindow;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  capsource:tcapsource;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
capsource:=TCapSource.Create;
if capsource.GetDevices.Count > 0 then
 begin
  for i:=0 to capsource.GetDevices.Count-1 do
    Listbox1.Items.Add(capsource.GetDevices.Strings[i]);
 end
else
 begin
  Listbox1.Items.Add('Keine Videoquelle verfügbar!');
  Listbox1.Enabled:=False;
 end;
end;



procedure TForm1.ListBox1Click(Sender: TObject);
begin
Capsource.StartCapture(Listbox1.ItemIndex, VideoWindow1)
end;

end.
Hier die der Webcam:

Delphi-Quellcode:
unit Unit2;

interface

uses DSPack,DSUtil,DirectShow9,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type TCapSource = class
 function GetDevices:TStringList;
 procedure StartCapture(Lbindex:integer; VideoWindow:TVideoWindow);
private
 FDevices:TStringlist;
published
 property Devices:TStringlist read GetDevices;
end;

var capenum:TSysDevEnum;
    FilterGraph:TFilterGraph;
    Filter:Tfilter;
    SampleGrabber:TSampleGrabber;
implementation

function TCapSource.GetDevices:TStringList;
var i:integer;
DeviceListe:TStringList;
begin
  Deviceliste:=TStringlist.Create;
  Capenum:=TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);
  for i:=0 to Capenum.CountFilters - 1 do
   DeviceListe.Add(Capenum.Filters[i].FriendlyName);
   GetDevices:=Deviceliste;
end;

procedure TCapSource.StartCapture(Lbindex:integer; VideoWindow:TVideoWindow);
begin
Filtergraph.ClearGraph;
Filtergraph.Active:=False;
Filter.BaseFilter.Moniker := Capenum.GetMoniker(Lbindex);
FilterGraph.Active := True;
with Filtergraph as ICaptureGraphBuilder2 do
 RenderStream (@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter,
 SampleGrabber as IBaseFilter, VideoWindow as IBaseFilter);
 FilterGraph.Play;
end;

end.
....oop und nun...??
http://www.sengewald.info
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz