AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Exception bei capCreateCaptureWindowA...?
Thema durchsuchen
Ansicht
Themen-Optionen

Exception bei capCreateCaptureWindowA...?

Ein Thema von LDericher · begonnen am 29. Jul 2009 · letzter Beitrag vom 31. Jul 2009
Antwort Antwort
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#1

Exception bei capCreateCaptureWindowA...?

  Alt 29. Jul 2009, 19:52
Ich benutze folgenden Code, um mit meiner Anwendung auf die bei mir angeschlossene Webcam zuzugreifen:

Delphi-Quellcode:
Procedure ConnectWebcam(WebcamIndex: integer);
begin
  CaptureWindow := capCreateCaptureWindowA('CaptureWindow', WS_CHILD or
    WS_DISABLED, 0, 0, 0, 0, GetDesktopWindow, 0);
  isConnected := (CaptureWindow <> 0) and
    (SendMessage(CaptureWindow, WM_CAP_DRIVER_CONNECT, WebcamIndex, 0) <> 0)
end;
Funktioniert auch wunderbar, wenn ichs kompiliere und ausm Explorer->Doppelklick starte.

Das Problem ist, dass die erse Zeile der Prozedur eine "externe Exception C0000008" wirft, solange ich das ganze im Delphi-Umfeld ausführe.

Hat irgendwer schonmal ähnliche Probleme gehabt?

Danke schonmal,

Euer LDer.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Exception bei capCreateCaptureWindowA...?

  Alt 29. Jul 2009, 20:00
Hallo

Wie sieht die Deklaration von capCreateCaptureWindowA aus?

Ich habe das Beispiel von der Code-Library probiert. Funktioniert ohne Probleme bei mir.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Exception bei capCreateCaptureWindowA...?

  Alt 29. Jul 2009, 20:04
Meine sieht so aus:

Delphi-Quellcode:
function capCreateCaptureWindowA(lpszWindowName: PChar; dwStyle: dword;
  x, y, nWidth, nHeight: word; ParentWin: dword; nId: word): dword;
  stdcall external 'AVICAP32.DLL';
Aber mit der Variante in deinem Link:

Delphi-Quellcode:
function capCreateCaptureWindow(lpszWindowName: LPCSTR;
  dwStyle: DWORD;
  x, y,
  nWidth,
  nHeight: integer;
  hwndParent: HWND;
  nID: integer): HWND; stdcall;
  external 'AVICAP32.DLLname 'capCreateCaptureWindowA';
Ist es das Gleiche...

Kann's an meiner DLL-Version liegen? Könnt'st'e deine vllt. mal anhängen?

LDer.
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Exception bei capCreateCaptureWindowA...?

  Alt 29. Jul 2009, 20:10
Mit einer "neuen" AVICAP32 von dll-files.com besteht das gleiche Problem...
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Exception bei capCreateCaptureWindowA...?

  Alt 30. Jul 2009, 10:39
Hab eigentlich nur ICH ständig unlösbare Probleme oder ist das hier normal?
"Clicking this button you agree with our Verantwortungsverzicht und Abkommen."
Zitat von Ein unentschlossener Programmierer:
Enabled:=true or false or true or false or true or false;
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Exception bei capCreateCaptureWindowA...?

  Alt 31. Jul 2009, 11:17
Hier habe ich zumindest mal diese Aussage gefunden:
Zitat:
In NT4.0 anything that is being debugged with any debugger will cause the OS to report exceptions that would otherwise be ignored. "External Exception C0000008" one of those types of errors.
Das scheint dann wohl auch auf NT > 4 zuzutreffen. Was man daraus nun aber nur mitnehmen kann ist: Die Exception tritt immer auf, wird aber nur beim Debuggen als solche moniert. Eine Lösung ist's leider nicht

Edit: Ich hab nach ein wenig Lesen nur noch heraus bekommen, dass dieser Fehler in zwei Zusammenhängen aufgetaucht ist:
1) Bei Verwendung korumpierter Thread-Handles (war ein C++ Problem)
2) Bei ActiveX/COM Objekten. Insbesondere gab es einen Fall, in dem ein in VB geschriebenes ActiveX in Delphi benutzt o.g. Fehler hervorgerufen hat, in einem VB Programm hingegen nicht. Ich vermute stark, dass hier auf Umwegen irgendwo auf ein COM/AX zugegriffen wird, und dieses dann knallt. D.h. die DLL selbst muss nicht einmal schuld sein, auch dein Programm nicht unbedingt. Eine besonders schöne Aussicht ist das nun aber auch wieder nicht

Edit2: Und noch was falls es hilft: Der "Klartext" zu dem Errorcode scheint "STATUS_INVALID_HANDLE" zu sein. Fall 1 von oben spricht dafür, aber auch in COM wird viel mit Handles umher geworfen. Leider recht unspezifisch so. Hier gabs den Fehler mal in Verbindung mit SQL, und verantwortlich war hier auch wohl das letzte Glied in der Kette. Ebenso scheint es, laut einiger Forenthreads die ich so gefunden habe, Versionen von Sybase zu geben die diesen Fehler hervorrufen, und auch dort lag der Fehler nie in der Hand des armen "anwendenden" Programmierers. U.U. hilft es bei dir ja, wenn du neue Treiber für das Video-Subsystem nimmst. Falls es sowas vom Hersteller gibt...
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Exception bei capCreateCaptureWindowA...?

  Alt 31. Jul 2009, 11:56
Edit3: Lösung!
Bzw. Workaround, aber da die Funktionalität ja gegeben ist, kannst du so wenigstens wieder debuggen.

Menü: Tools -> Debugger Optionen -> Reiter: BS Exceptions -> In der Liste "Ungültiges Handle ($C0000008)" auswählen -> Mit den Radioboxen mal rumspielen welches davon das Anhalten verhindert.

Unter non-D7 heissen die Optionen evtl. etwas anders.

Aus dieser Quelle abgeleitet (1. Frage).

(Sorry für's "Push-Posten", das Edit kam 3 mal nicht durch.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Exception bei capCreateCaptureWindowA...?

  Alt 31. Jul 2009, 14:45
WOW

vielen dank, Da hatte ich auch schon gesucht aber nix gefunden x)

Dankeeeeeeee!!!!!

*freu*

LDer.
"Clicking this button you agree with our Verantwortungsverzicht und Abkommen."
Zitat von Ein unentschlossener Programmierer:
Enabled:=true or false or true or false or true or false;
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:03 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