AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

USB-Geräte in Delphi(Prism)

Ein Thema von lord-schaschlik · begonnen am 20. Mär 2010 · letzter Beitrag vom 10. Apr 2010
Antwort Antwort
Seite 1 von 2  1 2      
lord-schaschlik

Registriert seit: 14. Nov 2009
17 Beiträge
 
#1

USB-Geräte in Delphi(Prism)

  Alt 20. Mär 2010, 16:54
Hallo, wollte mal fragen ob es grundsätzlich möglich ist auf USB-Geräte zuzugreifen. Es gibt ja keine universelle Klasse wie bei der seriellen Schnittstelle, da die Funktionsweise eine andere ist. Kann ich Beispielsweise auf das Videobild einer Webcam zugreifen und dieses darstellen? Ich weiß nicht in wie fern ich die USB-Treiber des Geräte dann einbinden müsste? Vielleicht kann mir jemand ein bisschen Hilfe geben oder mir grundsätzlich davon abraten dieses Thema weiter zu verfolgen*G*
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#2

Re: USB-Geräte in Delphi(Prism)

  Alt 20. Mär 2010, 17:09
SUFU: HID-Device
  Mit Zitat antworten Zitat
Benutzerbild von Lumpiluk
Lumpiluk

Registriert seit: 25. Dez 2008
110 Beiträge
 
#3

Re: USB-Geräte in Delphi(Prism)

  Alt 20. Mär 2010, 18:15
Zitat:
Es gibt ja keine universelle Klasse wie bei der seriellen Schnittstelle
Zu dem Thema kann ich leider nicht viel sagen, aber steht USB nicht für Universal Serial Bus?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: USB-Geräte in Delphi(Prism)

  Alt 20. Mär 2010, 18:26
Hi!

Zitat von hathor:
http://www.delphipraxis.net/search.php?search_id=1589959615&start=0
Leider kannst du so nicht auf ein Suchergebnis verlinken - sag uns am besten wonach du gesucht hast


Grüße, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: USB-Geräte in Delphi(Prism)

  Alt 21. Mär 2010, 00:29
Wenn es speziell um Webcams geht, gibt es dafür sicher einige .NET-Wrapper: http://stackoverflow.com/questions/2...cam-usage-in-c
Ansonsten gäbe es noch die #usblib.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#6

Re: USB-Geräte in Delphi(Prism)

  Alt 21. Mär 2010, 07:53
Zitat von fkerber:
Hi!

Zitat von hathor:
http://www.delphipraxis.net/search.php?search_id=1589959615&start=0
Leider kannst du so nicht auf ein Suchergebnis verlinken - sag uns am besten wonach du gesucht hast


Grüße, Frederic
Sorry, wahrscheinlich ist der Link nur einige Stunden gültig!

SUFU: HID-Device
  Mit Zitat antworten Zitat
lord-schaschlik

Registriert seit: 14. Nov 2009
17 Beiträge
 
#7

Re: USB-Geräte in Delphi(Prism)

  Alt 22. Mär 2010, 18:26
Bin jetzt auf WIA gestoßen (http://www.codeproject.com/KB/dotnet...ingdotnet.aspx). Die Komponente ist in Windows enthalten und sollte in delphi Prism problemlos laufen. Die C# Samples funktionieren auch, so wie ich mir das vorstelle. Laut den oberen Link werden nur folgende Anweisungen benötigt:

wiaVideo = new WiaVideoClass();
wiaVideo.CreateVideoByWiaDevID(
wiaDeviceID, window.Handle, 0, 1 );

Hab die Verweise in Delphi wie beschrieben aufgenommen und unter uses eingetragen.
WIALib,
wiavideolib;

Folgenden Code habe ich jetzt

method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
var wiavideo:WiaVideoClass;

begin
wiavideo:=wiaVideo.CreateVideoByWiaDevID('ID',prev iewPanel.handle,0,1);
end;

Bekomm jetzt den Fehler

(PH2) Beste Übereinstimmung "WIAVIDEOLib.WiaVideoClass.CreateVideoByWiaDevID(b strWiaDeviceID: System.String; var hwndParent: WIAVIDEOLib._RemotableHandle; bStretchToFitParent: System.Int32; bAutoBeginPlayback: System.Int32)" passt nicht für Parameter 2, Parameter ist "System.Windows.Forms.Panel" sollte "WIAVIDEOLib._RemotableHandle" sein

Ich habe einfach ein Panel zur Vorschau verwendet
Und ich weiß nicht wie ich die ID die ein String sein soll herausfinde

Wahrscheinlich ist es total logisch, aber ich sehs einfach nicht
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: USB-Geräte in Delphi(Prism)

  Alt 22. Mär 2010, 23:28
Das Problem wird im Artikel sogar angesprochen, hast du wirklich die Dll daraus genommen?
Zitat:
Unfortunately, the embedded TLB has a bug for methods passing a window handle. I used ILDASM to get the IL code of the interop assembly, then I changed all incorrect occurances of 'valuetype _RemotableHandle&' to 'native int', then finally compiled back to an assembly with ILASM. This repaired DLL is included in the download as WIAVIDEOLib.dll.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
lord-schaschlik

Registriert seit: 14. Nov 2009
17 Beiträge
 
#9

Re: USB-Geräte in Delphi(Prism)

  Alt 23. Mär 2010, 17:31
Bin am verzweifeln, der Fehler mit dem falschen Parameter ist weg, aber bring es einfach nicht zum Laufen. Weiß nicht ob WIA mit Prism nicht geht oder woran es liegt.

Code schaut jetzt so aus:

Delphi-Quellcode:
method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
var wiavideo:WiaVideoClass;
begin
  wiavideo := wiaVideo.CreateVideoByWiaDevID('{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\\0000', panel1.Handle, 0, 1);
  wiavideo.PreviewVisible := 1;
  wiavideo.Play;
end;

Fehlermeldung
Fehler 1 (CE15) Typ stimmt nicht überein, <unknown type> kann nicht zu WIAVIDEOLib.WiaVideoClass zugewiesen werden

DeviceID stimmt, gleiche ID in C# funktioniert

[edit=Phoenix]Delphi-Tags eingefügt. Das nächste mal bitte selber machen. Mfg, Phoenix[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#10

Re: USB-Geräte in Delphi(Prism)

  Alt 23. Mär 2010, 17:52
Delphi-Quellcode:
method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
begin
  var video := new WiaVideoClass();
  video.CreateVideoByWiaDevID('{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\\0000', panel1.Handle, 0, 1);
  video.PreviewVisible := 1;
  video.Play();
end;
CreateVideoByWiaDevID ist eine Methode ohne Rückgabewert.
Du musst erst die Klasse erstellen und dann benutzen...
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz