Hallo hier,
(diese thema gibt es auch auf activevb, man kann da aber keine datei einhängen)
Das Form hat nur Code im Load-Event. Der Error tritt auf wenn das Form geschlossen wird. Und zwar je nach auskommentieren von best. Codezeilen(hab ich beschrieben im Project), wird beim schliessen der Destruktor in der BaseClass aufgerufen.
Der Error tritt auf weil der Destruktor, nun, nicht nur zweimal aufgerufen wird, sondern er will noch eine drittesmal den gesammten Prozess durchlaufen und trifft dann aber auf ein Object das bereits zerstört ist. Eigentlich sollte die disposed Variable auf True stehen und den nochmaligen Durchlauf verhindern, tut sie aber nicht.
Ich kann diesen Error vermeiden, indem ich im Load-Event, im Finally Abschnitt die Dispose Methode für die beiden Objecte aufrufe. Aber der Sinn des Destruktor ist ja geader der, Das Object zu zerstören wenn ich als Entwickler, dies im Code versäumt hab.
Und letztllich, vielleicht das Confuseste, wenn ich im Load-Event, die letzte Zeile "
" auskommnetiere, tritt der Error nicht auf.
Und, es gibt ein FileStream object, im Kopf der Baseclass:
ist diese Zeile activ gibt es keinen Error.
Hat jemand eine Erklärung für dies Verhalten?
Gruss Eric
(diese thema gibt es auch auf activevb, man kann da aber keine datei einhängen)
Das Form hat nur Code im Load-Event. Der Error tritt auf wenn das Form geschlossen wird. Und zwar je nach auskommentieren von best. Codezeilen(hab ich beschrieben im Project), wird beim schliessen der Destruktor in der BaseClass aufgerufen.
Der Error tritt auf weil der Destruktor, nun, nicht nur zweimal aufgerufen wird, sondern er will noch eine drittesmal den gesammten Prozess durchlaufen und trifft dann aber auf ein Object das bereits zerstört ist. Eigentlich sollte die disposed Variable auf True stehen und den nochmaligen Durchlauf verhindern, tut sie aber nicht.
Ich kann diesen Error vermeiden, indem ich im Load-Event, im Finally Abschnitt die Dispose Methode für die beiden Objecte aufrufe. Aber der Sinn des Destruktor ist ja geader der, Das Object zu zerstören wenn ich als Entwickler, dies im Code versäumt hab.
Und letztllich, vielleicht das Confuseste, wenn ich im Load-Event, die letzte Zeile "
Code:
lngAnzIdNr = myDeriTwo.GetNumberOf(strSQL);
Und, es gibt ein FileStream object, im Kopf der Baseclass:
Code:
filestream = new FileStream(@"C:\test.txt", FileMode.OpenOrCreate);
Hat jemand eine Erklärung für dies Verhalten?
Gruss Eric
Comment