Z.B. wenn ich auf eine bestimmte Anzahl von Daten im Receive-Buffer des Com-Ports warte, soll die Warteschleife nach 500ms abgebrochen werden.
Dafür gibt es bspw. die Eigenschaft "ReadTimeout" der SerialPort-Klasse.
Etwas wie "Warteschleifen" solltest Du auch nicht verwenden. Im Unterschied zur Mikrocontroller-Programmierung gehört der Prozessor nicht nur einer Anwendung oder einem Vorgang (Thread). Stattdessen erfolgt die Entwicklung eher "ereignisgesteuert" (wenn eine Aktion durch die GUI ausgelöst wird, wenn ein IO-Vorgang beendet ist [erfolgreich oder fehlgeschlagen]).
Die variablen, die dann beim random ausgegeben werden sind alle gleich ( manchmal ist eine anders ) .
Dein Fehler ist ja in erster Linie dass Du sehr schnell hintereinander neue Random-Instanzen erzeugst. Du brauchst hier ohnehin nur eine. Ich nehme an, den Link von DMDoniz hast Du nicht gelesen?
Trotzdem kann es natürlich vorkommen, dass mehrfach "zufällig" die selbe Zahl gewürfelt wird. Das musst Du also prüfen und neu würfeln.
Der Artikel begann mit (ich habe noch eine Kopie offen :-))
Zitat
At Connect(); in November, Microsoft is launching a preview of Visual Studio for Mac. This is an exciting development, evolving the mobile-centric Xamarin Studio IDE into a true mobile-first, cloud-first development tool for .NET and C#, and bringing the Visual Studio development experience to the Mac.
A New Member of the Visual Studio Family
At its heart, Visual Studio for Mac is a macOS counterpart of the Windows version of Visual Studio. If you enjoy the Visual Studio development experience, but need or want to use macOS, you should feel right at home. Its UX is inspired by Visual Studio, yet designed to look and feel like a native citizen of macOS. And like Visual Studio for Windows, it’s complemented by Visual Studio Code for times when you don’t need a full IDE, but want a lightweight yet rich standalone source editor.
Below the surface, Visual Studio for Mac also has a lot in common with its siblings in the Visual Studio family. Its IntelliSense and refactoring use the Roslyn Compiler Platform; its project system and build engine use MSBuild; and its source editor supports TextMate bundles. It uses the same debugger engines for Xamarin and .NET Core apps, and the same designers for Xamarin.iOS and Xamarin.Android.
Compatibility is a key focus of Visual Studio for Mac. Although it’s a new product and doesn’t support all of the Visual Studio project types, for those it does have in common it uses the same MSBuild solution and project format. If you have team members on macOS and Windows, or switch between the two OSes yourself, you can seamlessly share your projects across platforms. There’s no need for any conversion or migration.
bliebe noch zu ergänzen, dass man wohl Edge verwenden muss. Zumindest funktioniert es nicht mit Chrome, vermutlich wegen der Überprüfung, ob man auch wirklich als "Insider" registriert ist.
netsetman wäre einen Versuch wert. Laut Liste kann es die hosts-Datei anpassen. Ich kann aber nicht bestätigen, ob und wie es funktioniert, da noch nicht gebraucht. Ggf. könnte man zwischen verschiedenen Kopien der Datei per Skript umschalten.
WLAN-Profile umzuschalten hat bei mir mit dem Tool leider nicht richtig geklappt.
kann es denn sein, dass so viele Verbindungen gleichzeitig offen sind (von anderen Nutzern)?
Zitat von Homeros
Bei PC's wo ich nicht die Möglichkeit habe diese Einstellung zu ändern, kann ich da Überprüfen ob Verbindungen frei sind und vllt sogar wie viele?
Das wird Dir im Fall der Fälle nicht wirklich nützen, da zwischen Prüfung und Verwendung die Situation schon wieder anders sein kann. Besser ist es den tatsächlichen Fehlerfall abzufangen und davon ausgehend nochmals zu probieren.
Der Anwender kann mit der Datei in verschlüsseltem Zustand nichts anfangen. Bleibt sowieso noch das Problem, dass er den Zeitstempel seines Rechners zurücksetzen könnte und dann wäre auch die Restriktion der 24h hinfällig.
Es reicht aus, einmalig eine Sicherheitskopie der Datei zu erstellen, und diese vor jedem Start per Batch wiederherzustellen.
falls es sich um die Klasse BackgroundWorker handeln sollte (die Frage ist in der Beziehung etwas, nun ja, lax), so kann man die Exception im RunWorkerCompleted Ereignis abfragen.
Sollte es sich nicht um den BackgroundWorker handeln, kann man sich dort aber abschauen, wie man's machen könnte.
Das Fenster wird geladen, angezeigt, ich kann es auch bedienen. Aber: das Objekt "settings" bleibt null und es erscheint keine MessageBox (welche ich zu Debug-Zwecken eingefügt habe).
Zitat von da_user
Dafür verschluckt sich irgendwas am XAML-Reader, wenn ich meine XML-Datei auslese
Das zweite ist der Grund für's erste: In Deinem "settings = new SettingsDialog.Settings();" tritt eine Exception auf, die dazu führt, dass settings nicht gesetzt und die MessageBox nicht angezeigt wird.
Nebenbei bemerkt ist die MessageBox eher keine gute Technik zum Debuggen. Willst Du wissen, ob das Programm durch Window_Loaded kommt, setzt Du da an den Anfang (wie auch die MessageBox oder Logging am Anfang hilfreicher gewesen wäre) einen Haltepunkt. Siehe auch: [Artikel] Debugger: Wie verwende ich den von Visual Studio?
man könnte per Windows-API oder WMI den erstellenden Prozess (explorer, cmd, devenv) feststellen. Suche bspw. nach "C# parent process name". Das fertige Snippet kannst Du ja dann hier posten.