Laden...
J
Jonas007
myCSharp.de - Member
17
Themen
37
Beiträge
Letzte Aktivität
vor 9 Monaten
Dabei seit
18.01.2020
Alter
21
Beruf
Schüler
Herkunft
Österreich
Interessen
Programmieren
Erstellt vor 2 Jahren

Danke euch. Ja, ich greife auf in dieser Methode auf UI Elemente zu und der Fehler liegt wahrscheinlich darin. Ich muss mir das noch genauer ansehen, wie ich das fixe, da ich noch ein ziemlicher Anfänger bin. Was mich jedoch wundert ist: Das Event wird einige Male (10-100) aufgerufen und UI Elemente verändert - und das ohne Probleme. Erst zu einem bestimmten Zeitpunkt, nachdem das Programm bereits ca. 30 Sekunden läuft und schon 10-100 Mal ein DataRecived Event einwandfrei ausgelöst hat, und UI Elemente erfolgreich verändert wurden stürzt es ohne Vorwarnung ab.

Es sollte dann aber eigentlich eine .NET-Exception geworfen werden.
Oder hast du Exceptionsbehandlung im VS ausgestellt?

Ja, das dachte ich auch. Desshalb bin ich an den Fehler so verzweifelt weil weder in meinen Catch Block gesprungen wird, noch eine Fehlermeldung erscheint. Ich wüsste nicht, dass ich jemals etwas an den Standarteinstellungen in VS geändert habe. Ich habe die "Ausnahmeeinstellungen" in VS gefunden, weiß jedoch nicht, wie das genau konfiguriert werden sollte.

Erstellt vor 2 Jahren

Ich habe nun einige Fehler in der Ereignisanzeige gefunden. Es sind viele Fehler jedoch immer nur eine dieser 3 Meldungen:

1. Meldung:

Fehlermeldung:
Name der fehlerhaften Anwendung: <Name meines Programms>.exe, Version: 1.0.0.0, Zeitstempel: 0xec1bc32b
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 10.0.19041.1466, Zeitstempel: 0xc79f51a9
Ausnahmecode: 0xe0434352
Fehleroffset: 0x0012b662
ID des fehlerhaften Prozesses: 0x3578
Startzeit der fehlerhaften Anwendung: 0x01d81c294ec31719
Pfad der fehlerhaften Anwendung: <Pfad meines Prgramms>.exe
Pfad des fehlerhaften Moduls: C:\WINDOWS\System32\KERNELBASE.dll
Berichtskennung: 34b02bb0-da60-4925-8a04-d9edf36be58f
Vollständiger Name des fehlerhaften Pakets:
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:

++2. Meldung: ++

Fehlermeldung:
Anwendung: <Name meines Programms>.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.ArgumentOutOfRangeException

--> Den Ursprung dieser System.ArgumentOutOfRangeException habe ich bereits gefunden und gefixt

3. Meldung:

Fehlermeldung:
Das Programm <Name meines Programms>.exe Version 1.0.0.0 hat die Interaktion mit Windows beendet und wurde geschlossen. Überprüfen Sie den Problemverlauf in der Systemsteuerung "Sicherheit und Wartung", um nach weiteren Informationen zum Problem zu suchen.
Prozess-ID: 2688
Startzeit: 01d81c2b73a9b5b9
Beendigungszeit: 8
Anwendungspfad: <Pfad meines Programms>.exe
Bericht-ID: cffb16f3-871c-4b84-abb8-9b40456959a8
Vollständiger Name des fehlerhaften Pakets:
Relative Anwendungs-ID des fehlerhaften Pakets:
Absturztyp: Cross-thread

Wäre super, wenn mir jemand bei diesen Fehlermeldungen helfen kann. Ich selbst werde natürlich auch umgehend nach ihnen suchen und versuchen ihren Ursprung zu finden.

Erstellt vor 2 Jahren

Ich habe auch den gesamten Code des SerialPort.DataRecived Events in einem try ... catch Block.
Mit der Windows Ereignisanzeige muss ich mich zuerst noch etwas genauer auseinandersetzten, da ich damit noch nie etwas gemacht habe (wird schon nicht so schwer sein).
Ich benutze einem Arduino, welcher Datei auswertet/berechnet und diese in einem speziellen Format an den PC sendet.

Vielen Dank erstmal 🙂

Erstellt vor 2 Jahren

Hallo liebe Community!

Ich habe ein Windows Forms Porgramm, welches mit der Seriellen Schnittstelle mit der Klasse SerialPort arbeitet. Manchmal stürzt es einfach ab, hängt sich auf oder Ähnliches. Ich habe an den sensiblen Stellen nun ein try und catch einprogrammiert, unter anderem auch im Programm.cs über die gessamte Main Methode (ich weiß, dass das eine sehr schlechte Art ist zu programmieren), jedoch stürzt es einfach ab. Ich weiß nicht mehr, was ich tun soll, wenn ich nichtmal mit dem Debuggen voran komme.

Vielen Dank im voraus!

Erstellt vor 3 Jahren

Problem gelöst. Danke dir 🙂!
Der AutoScaleMode der Form war standartmäßig auf Font. Wenn er auf DPI gestellt ist, funktioniert alles wie gewünscht 🙂

Edit: Die Größe der PictureBox wird trotzdem noch verändert: nämlich von 600x600 auf 480x480, eben die das 1/1.25 - fache, da meine Skalierung ja auf 125% ist. Das passt jedoch, da es mir nur um das Verhältnis der beiden Längen ging.
Ich verstehe zwar noch immer nicht, weshalb die box so skaliert wurde, aber egal ^^

Erstellt vor 3 Jahren

Ich hab das mal gegooglet und wenn es das ist, was ich denke (unter Windows 10 unter Einstellungen/Anzeige/Skalierung und Anordnung) sind bei mir standartmäßig 125% eingestellt, und bei der Auswahl 125% steht auch "(empfohlen)" dabei. Wenn ich das auf 100% ändere, ändert es jedoch nichts. Die Größe der PictureBox wird nachwievor von 600x600 auf 450x488 gesetzt.

Erstellt vor 3 Jahren

Hallo liebe Community.
ich habe ein kleines Windows Forms Projekt, in dem sich eine PictureBox befindet. Ich habe ihr eine größe von 600x600 gegeben, was im Designer auch so umgesetzt wird.


this.pic_Box.Size = new System.Drawing.Size(600, 600);

Diese Größe wird aus meinerseits nicht ersichtlichen Gründen in der Methode "ResumeLayout" verändert.
Gesamte Methode "InitializeComponent":


        private void InitializeComponent()
        {
            this.gb_Settings = new System.Windows.Forms.GroupBox();
            this.pic_Box = new System.Windows.Forms.PictureBox();
            ((System.ComponentModel.ISupportInitialize)(this.pic_Box)).BeginInit();
            this.SuspendLayout();
            // 
            // gb_Settings
            // 
            this.gb_Settings.Location = new System.Drawing.Point(13, 13);
            this.gb_Settings.Name = "gb_Settings";
            this.gb_Settings.Size = new System.Drawing.Size(200, 600);
            this.gb_Settings.TabIndex = 0;
            this.gb_Settings.TabStop = false;
            this.gb_Settings.Text = "Settings";
            // 
            // pic_Box
            // 
            this.pic_Box.Location = new System.Drawing.Point(220, 13);
            this.pic_Box.Name = "pic_Box";
            this.pic_Box.Size = new System.Drawing.Size(600, 600);
            this.pic_Box.TabIndex = 1;
            this.pic_Box.TabStop = false;
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(833, 622);
            this.Controls.Add(this.pic_Box);
            this.Controls.Add(this.gb_Settings);
            this.Name = "Form1";
            this.Text = "RRR Robot Simulation";
            this.Load += new System.EventHandler(this.Form1_Load);
            ((System.ComponentModel.ISupportInitialize)(this.pic_Box)).EndInit();
            this.ResumeLayout(false);

        }

Wie kann ich das unterbinden? Ich möchte die PictureBox einfach mit 600x600!
Danke im vorraus 🙂

Erstellt vor 3 Jahren

Hallo liebe Community,

wenn man ein Objekt der Klasse ListViewItem erstellt und jenen Konstruktor wählt, welcher ein string-array als Parameter nimmt, und im späteren Verlauf des Programms wieder zu diesem string-array kommen will, wie macht man das?

Beispiel-Code zur Veranschaulichung:


            string[] arr = new string[] { "Test", "123", "und so weiter"};
            ListViewItem listViewItem = new ListViewItem(arr);

            // Versuch an den Inhalt des ListViewItems zu kommen
            MessageBox.Show(listViewItem1.Text);
            // Ausgabe: 'Test'

Wie komme ich auf das 2. bzw. 3. Element des zuvor erwähnten arrays?
Es geht mir nicht primär um das array, sondern darum, wie ich an den Inhalt des ListViewItems komme

LG Jonas 🙂

Erstellt vor 3 Jahren

Hallo liebe Community,
ich bekomme folgende Exception: Unhandled exception. System.BadImageFormatException: Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (0x80131058)
File name: 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' ---> System.BadImageFormatException: Cannot load a reference assembly for execution.

Und zwar habe ich eine DLL, welche ich zuerst in einer Windows Forms-App benutzt habe jetzt in eine Konsolenprogramm eingebunden. Ohne die 'using.Windows.Forns' in einer Klasse meiner DLL funktioniert alles normal, jedoch benötige ich diese und ich weiß nicht, worin genau mein Fehler liegt. Ich habe bei der DLL bereits den bin-Ordner gelöscht und die DLL neu erstellt jedoch ändert das nichts. Aus der Microsoft-Dokumetation zu dieser Exception werde ich leider auch nicht schlau bzw. wüsste ich nicht, weshalb sie in meinem Fall genau ausgelöst wird.

LG Jonas und schonmal Danke im voraus 🙂

Erstellt vor 3 Jahren

Danke euch für die guten Erklärungen. Alles was ich gelesen habe, bezog sich auf Leute, die das alles grundsätzlich schon verstehen und für Anfänger wie mich ist das ganze ziemlich kompliziert 🙂

edit: Mein Fehler lag bereits am erstellen der Windows-Forms Applikation. Ich habe die Projektvorlage "Windows Forms-App (.Net Framework)" und nicht "Windows Forms-App" gewählt. Bei ersteren kann man nämlich nur .Net-Standart Frameworks auswählen und keine .Net oder .Net-Core Frameworks.