Laden...

Form reagiert mit Haltepunkten anders als ohne Debugmöglichkeiten

Erstellt von Bananajoe123 vor 3 Jahren Letzter Beitrag vor 3 Jahren 526 Views
B
Bananajoe123 Themenstarter:in
16 Beiträge seit 2020
vor 3 Jahren
Form reagiert mit Haltepunkten anders als ohne Debugmöglichkeiten

Hallo Forumsmitglieder,

ich habe eine Frage bezüglich einer Windows-Formsanwendung. Ich möchte gerne in einem Programm einen Scanner ansteuern. Ich habe eine Anwednung nach folgendem Beispiel erstellt:

Beispielcode für eine Scannerapplication

Das Programm funktioniert einwandfrei!
Jetzt habe ich versucht diesen Code in meiner Anwendung zu implementieren, das führt aber zu einem mir unverständlichen Verhalten:

Fall 1)
Wird das Scannen aus dem laufenden Programm gestartet (normaler Anwednungsfall), wird der Code zwar ohne Fehlermeldung ausgeführt, aber das Scannen startet erst, wenn man das Fenster schließt (Schließen Button). Anstatt zu schließen bleibt das Fenster danach aber offen und die Anwendung bedienbar.

Fall2)
Wenn ich das Programm mit Haltepunkten ausführe, wird alles genau, wie programmiert, ausgeführt und der Scanner startet sofort.

Ich habe versucht das Problem mit Haltepunkten "einzukreisen" und gedacht, dass es vielleicht ein Timing-Problem ist, das sich mit System.Threading.Thread.Sleep(); lösen lässt anstatt einen Haltepunkt zu verwenden. Leider ist dies aber nicht der Fall und den Thread anzuhalten ändert nichts.

Ich habe das Gefühl, dass der Scannbefehl zwar gestartet wird, aber in irgendeiner Bearbeitungswarteschlange untergeht. Deshalb meldet die Anwednung, zwar dass der Code ausgeführt wurde, aber es passiert nichts.

Welche Möglichkeiten zum Debuggen gibt es für so ein Verhalten oder besser gefragt, worauf deutet so ein Verhalten denn hin und wonach könnte ich suchen oder womit Abhilfe schaffen?

Da es sich um relativ viel Code handelt, habe ich erst mal darauf verzichtet ihn hier miteinzufügen, kann das aber gerne bei Bedarf nachholen.

1.029 Beiträge seit 2010
vor 3 Jahren

Hi,

ohne deinen Code zu kennen kann man dir nicht wirklich helfen.

Unabhängig davon:
Wenn man die Seite liest bekommt man mit dem folgenden Link eine lauffähige Anwendung, welche das deinerseits geschilderte Problem nicht hat. siehe:
https://github.com/ourcodeworld/csharp-scanner-wia

Der dort verwendete Code sieht prinzipiell recht übersichtlich aus wenn du mich fragst.

Kann somit nur empfehlen, dass du das mit deinem Code vergleichst...

LG

B
Bananajoe123 Themenstarter:in
16 Beiträge seit 2020
vor 3 Jahren

Hi,

vielen Dank für die Antwort. Jetzt habe ich doch nach tagelanger Suche den Fehler selbst gefunden.
Im Programm ist noch eine Kommunikation mit einer Steuerung, deren Timer dazwischenfunkt.
Den muss man kurzzeitig deaktivieren.
Dann läuft alles.
Trotzdem Danke für die hilfsbereitschaft.

Grüße!