Quelltext für Beenden in VB.net

Gast #199742
Lesenswert?

Hallo zusammen!

Habe ein kleines problem.
Habe mir ein programm geschrieben mit VB.net und will mir jetzt noch
einen Beenden knopf hinzufügen.
Nur klappt es bei mir nicht wirklich mit dem Quelltext!
Kann mir denn jemand den Quelltext für den Beenden Button schreiben??

Micha
Gast #199745
Lesenswert?

Achtung: Bis VB6 gilt: 'End' geht nicht!!!

Es sieht zwar so aus, als beendet sich das Programm, aber bei 'End'
wird das Programm sofort abgebrochen. Es finden keine Aufräumarbeiten
statt. Evtl. bleiben noch Objekte im Speicher, die dann als Leichen
allerlei unerklärliche Ereignisse verursachen können.

Ein 'End' wäre, als würde ein Busfahrer an der Endstation nicht die
Fahrgäste aussteigen lassen, sondern den Bus in die Luft sprengen.

Ob das unter VB.NET anders ist, wage ich zu bezweifeln.

--
Gast #1234162
Lesenswert?

Hallo alle zusammen,
ich als langjähriger VB.Net Programmierer in Visual Studio 2008 kann nur 
sagen, dass die elegantesten Möglichkeiten ...

1. Möglichkeit:
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles btnClose.Click
  Me.Close()
End Sub

2. Möglichkeit:
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles btnClose.Click
  Application.Exit()
End Sub

... sind! Hierbei wird ein sogenanntes OnTopWindow nach der normalen 
Windows.FormClose Prozedur beendet. Dies ist vor allem bei SystemTools 
o.ä. wichtig, da dort Einstellungen gespeichert werden. Bei 
"Application.Close()" ist dies zwar auch der Fall, jedoch dauert diese 
Variante länger.

Schöne Grüße und viel Erfolg weiterhin.
Euer Besucher01
Gast #1369613
Lesenswert?

ja, juppi, was soll das.

egal auf welche spezialitaeten hingewiesen wird (baudratenquarz, 
tastenentprellung, ponyprog-isp und neueste computer, usw), es findet 
sich immer ein trollo, der da meint, dass es trotzdem geht.

und ja, end beendet das vb-programm, aber es hinterlaesst speicherchaos, 
welches dann andere programme zum stolpern bringen kann.
Gast #1678262
Lesenswert?

Also nochmal Versenkung.

Wegen 'End': Mir ist kein Betriebssystem bekannt, bei welchem das 
Abbrechen eines Programmes 'Speicherchaos' hinterlässt. Ich weiß nicht, 
wie das bei Windows ist, aber zumindest unter unixoiden Systemen wird 
der vom Programm belegte Speicher (Stapel, Halde) nach Abbruch oder 
Beendigung vom Betriebssystem wieder fregegeben.

Bisweilen wird/wurde sogar aus Performancegründen empfohlen, Speicher 
beim Programmende nicht explizit, beispielsweise mit free(), 
freizugeben. Offenbar rührt bzw. rührte das daher, dass einige Systeme 
dadurch unnötig aktiv werden mussten, wenn der Speicher sich zur Zeit im 
Swap befand.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.