Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism USB-Geräte in Delphi(Prism) (https://www.delphipraxis.net/149401-usb-geraete-delphi-prism.html)

lord-schaschlik 23. Mär 2010 20:57

Re: USB-Geräte in Delphi(Prism)
 
Programm startet jetzt ohne Fehler, sobald ich doch auf den Button klicke "Ausnahme von HRESULT: 0x80210015" "COMException wurde nicht vom Benutzercode behandelt" Scheinbar geht diese Komponente nicht unter PRISM. DeviceID stimmt und der Rest sollte auch passen. Muss ich wohl weiter nach einer Libary suchen. Vielleicht kann auch noch jemand was passendes empfehlen. WIA hat mir gefallen, da es in Windows standardmäßig vorhanden ist.


Gruß

und ich hoffe das ich eure Nerven nicht so strapaziere

Khabarakh 23. Mär 2010 23:07

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

Zitat von lord-schaschlik
Scheinbar geht diese Komponente nicht unter PRISM.

Sinnvolleres kann ich dazu leider auch nicht beitragen, aber eins steht fest: Wenn das unter C# läuft, dann muss es das auch unter Prism :) .

Phoenix 24. Mär 2010 07:32

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

Zitat von lord-schaschlik
Programm startet jetzt ohne Fehler, sobald ich doch auf den Button klicke "Ausnahme von HRESULT: 0x80210015" "COMException wurde nicht vom Benutzercode behandelt"

Wenns unter C# geht, gehts auch in Prism. IL ist IL und .NET ist .NET.

Pack mal das Prism- und das C#-Projekt in ein Archiv und häng es mal hier an. Dann kann ich da mal reinschauen.
Ich tippe eher darauf, dass das Library irgendwo mist baut.

Ansonsten setz mal einen try-except Block um jede Zeile und fange ab, welche Zeile die Exception erzeugt.
Das wäre noch interessant, WO das Ding seine Probleme hat.

lord-schaschlik 24. Mär 2010 14:49

Re: USB-Geräte in Delphi(Prism)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hab mal das C#, das Prism und das funktionierende C# Beispielprogramm von Codeproject angehängt. Stimmt schon, wenn es in C# läuft, müsste es auch in Delphi laufen. Aber der genannten zwei Zeiler "Video" von (http://www.codeproject.com/KB/dotnet...ingdotnet.aspx) reicht wohl nicht aus. Weiß nicht was mir noch fehlt. Die WIALib wurde von Windows verwendet. Die WIAVideoLib hab ich aus dem Beispielprogramm kopiert und in die Ordner eingefügt.

Grüße

Phoenix 24. Mär 2010 18:10

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

super.. ich hab hier nur Vista und Windows 7 x64 - und dort gibt es nur das WIA 2 library und nicht WIA 1.0.

Das heisst, ich kann das so gar nicht testen und müsste die Sache mit WIA2 machen.
Bringt Dir im übrigen auch ein Problem ein: Wenn Du WIA1 benutzt funktioniert Deine Anwendung nur auf Rechnern die auch die WIA1 Library haben. Auf Vista und Win 7 macht das dann blöderweise automatisch die Grätsche.

Ein weiteres Problem ist, dass ich hier in der VM geilerweise nicht auf die iSight Kameria meines Mac-Hosts zugreifen kann. Ich habe also derzeit kein Video-Gerät.

Ich muss die Antwort also leider etwas schieben bis ich meinen Arbeitsplatzrechner aufgestellt habe (bin grad im Umzug, das wird leider noch ein paar Tage dauern). Dort habe ich a) Win XP drauf und b) auch eine Webcam angeschlossen.

lord-schaschlik 29. Mär 2010 12:44

Re: USB-Geräte in Delphi(Prism)
 
Schonmal danke für die Hilfe, vielleicht hat ja jemand noch ne Idee woran es liegen kann. Hatte die letzten Tage keine Zeit es weiter zu probieren, ab morgen werde ich mich wieder darum kümmern.

lord-schaschlik 31. Mär 2010 17:48

Re: USB-Geräte in Delphi(Prism)
 
Ich kämpfe immer noch mit WIA, sehe momentan keine alternative. Ich wäre so dankbar wenn jemand wie beschrieben über die WIAVideoLab testen könnte ob es bei euch funktioniert.
http://www.codeproject.com/KB/dotnet...ingdotnet.aspx
Bei den Beispielcodes funktioniert bei mir lediglich das WiaScriptSample und WiaEasyImage, das interessanteste (WiaEasyVideo) geht bei mir nicht.

Gruß

lord-schaschlik 10. Apr 2010 09:33

Re: USB-Geräte in Delphi(Prism)
 
Hab WIA jetzt soweit am laufen, hab nur noch folgendes Problem bei der Umsetzung von C# in Delphi Prism.
Wie übersetzte ich folgende Zeilen:

string selectedID = wiaRoot.GetPropById((WiaItemPropertyId)WiaDeviceIn foPropertyId.DeviceInfoDevId) as string

Ich weiß nicht wie ich den davor stehen Datentyp (WiaItemPropertyId) und damit wohl eine Umwandlung des Datentyps (WiaItemPropertyId-> WiaDeviceInfoPropertyId) in Delphi realisiere.

Ähnlich hier:
string videoDir = (string) wiaRoot.GetPropById((WiaItemPropertyId)3587)

Jeweils die Datentypen in Klammer voran gestellt. Was ist der Unterschied zwischen (string) und as string?

Vielleicht kann mir jemand einen Tipp geben.

Danke

Khabarakh 10. Apr 2010 11:07

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

Zitat von lord-schaschlik
und damit wohl eine Umwandlung des Datentyps (WiaItemPropertyId-> WiaDeviceInfoPropertyId) in Delphi realisiere.

Nunja, durch einen Cast? Prism und C# haben hier allerdings etwas... interessante Beziehungen.
Code:
C#      Prism  Verhalten wenn not (x is T)
(T)x   x as T InvalidCastException
x as T T(x)   null/nil
Das as in der ersten C#-Codezeile ist wahrscheinlich Unsinn, nimm in Prism einfach beide Male (und sowieso quasi immer) as. Da WiaItemPropertyId etc. wohl Wertetypen sind, sollte es da allerdings keinen Unterschied zwischen den zwei Operatoren geben.

lord-schaschlik 10. Apr 2010 14:23

Re: USB-Geräte in Delphi(Prism)
 
Hat funktioniert, Danke :-) Sobald das Projekt abgeschlossen ist werd ich berichten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.
Seite 2 von 2     12   

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