Laden...

Windows Form mit AutoUpdater und MetroForm wirft Stackoverflow-Exception beim schliessen

Erstellt von ktownmods vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.581 Views
K
ktownmods Themenstarter:in
13 Beiträge seit 2015
vor 6 Jahren
Windows Form mit AutoUpdater und MetroForm wirft Stackoverflow-Exception beim schliessen

Hi Community,

ich habe Ein kleines Projekt in c#.

Das Projekt habe ich mit dem AutoUpdater.Net "bestückt", wenn ich jetzt das Programm Updaten lasse will der AutoUpdater (bzw. der ZipExtractor) die eigentliche Form schließen, jedoch kommt dann beim schließen folgender fehler!
(Achja falls es was nützt ich nutze dafür MetroFramework.Forms.MetroForm)
Habe gerade herausgefunden ohne MetroFramework.Forms.MetroForm klappt alles normal nur sobald ich dMetroFramework.Forms.MetroForm nutze kommt es zu diesem fehler!

Weiß denn jemand von euch was hier falsch läuft?

Danke schonmal

T
2.224 Beiträge seit 2008
vor 6 Jahren

Beim Stack Overflow scheint sich Dispose scheinbat selbst aufzurufen.
Du hast also eine Rekursion programmiert, weshalb dein Code knallt.
Aus deinem aktuellen Code Ausschnitt lässt sich dies aber nicht sicher sagen.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

K
ktownmods Themenstarter:in
13 Beiträge seit 2015
vor 6 Jahren

Danke für deine Antwort.

Das was mir nicht einleuchtet ist wenn ich die Windows Form nehme klappt es aber sobald ich die MetroForm nehme wie gesagt nicht da ändere ich ja nur die form!?

Danke schonmal

T
2.224 Beiträge seit 2008
vor 6 Jahren

Da ich MetroForm nicht kenne und auch deinen Code nicht sehe, wäre meine Frage wie du deinen Code änderst.
Den scheinbar scheint dies nicht korrekt zu sein, da du dadurch einen StackOverflow bekommst.
Dieser wird in der Regel meistens durch Rekusive Methoden Aufrufe ausgelöst.

Spring doch mal mit deinem Debugger in die Dispose Methoden.
Irgendwo wirst du dann deine eigenen Forms immer wieder gegenseitig Disposen.
Zu mindest würde ich dies so erst einmal erwarten.
Aber hier kenne ich weder deinen Code noch MetroForm um das sicher sagen zu können.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

K
ktownmods Themenstarter:in
13 Beiträge seit 2015
vor 6 Jahren

Hi,

das einzige was am code geändert wird ist:

public partial class Login : Form zu public partial class Login : MetroFramework.Forms.MetroForm

und logischerweise using MetroFramework;

MetroFramework ist das hier MetroFramework

vielleicht hilft dir das etwas, denn sonst wird am Code nichts geändert!

Danke dir

T
2.224 Beiträge seit 2008
vor 6 Jahren

Ich habe mir mal kurz den Code im Repository angeschaut und dieser zeigt keinen erkennbaren Fehler.
Entsprechend müsstest du den kompletten Code zeigen aus deinem Login Form.
Dort muss der Fehler liegen.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

4.942 Beiträge seit 2008
vor 6 Jahren

Schau einfach mal bei der Exception im Stacktrace (im deutschen Visual Studio Aufrufliste genannt).