PDA

Vollständige Version anzeigen : beenden von Anwendungen


jajiewu
06.11.2003, 15:49
Eine Frage bez. des beendens von Anwendungen.
Ich konnte einiges finden wo geschrieben wird , dass „End“ nicht verwendet werden sollte.
„Application.Exit“ ist das was ich verwende , bisher keine Probleme, aber solange mach ich das auch noch nicht .
Dann hab ich noch einen Beitrag gefunden , wo es heisst dass man im Hauptformular (darunter versteh ich „Startformular“) die Anwendung mit „close“ beenden kann . das klappt bei mir auch ,aber nur solange wie ich kein weiteres Formular öffne . Sowie ich ein weiteres Formular geöffnet hab – von da aus wieder zurück gehe – und dann wieder den schliessen Button im Hauptformular klicke , schliesst sich zwar das Hauptformular aber nicht die Anwendung

Rom
07.11.2003, 08:55
Hallo jajiewu,
ich habe ein Modul erstellt mit einer Prozedur sub Main, diese lasse ich beim starten auführen. Diese Prozedur lädt mir mein Startformular. Wenn das Startformular geschlossen wird, wird meine Anwendung auch beendet:

Option Explicit On
Imports System.Windows.Forms

Module basMain

' Startprozedur
Sub main()
Dim frm As Form
Try
frm = New frmUserMain()
frm.ShowDialog()
Catch
MsgBox(Err.Number & vbCrLf & Err.Description)
End Try
frm = Nothing
End Sub
End Module

Damit habe ich keine Probleme!

jajiewu
07.11.2003, 20:44
muss sagen , damit gehts gut.

kannst Du mir noch erklären , wie das Modul mit dem Startformular zusammenhängt , bez Öffen ist klar , ich versteh aber nicht wodurch beim schlissen des Forms das Beenden der Anwendung ausgelössst wird

Rom
10.11.2003, 07:37
Hallo,
wenn ein Formular aus einer Prozedur aufgerufen und Modal oder via ShowDialog angzeigt wird, wird der Code an der Stelle solange unterbrochen bis das Formular geschlossen oder nicht mehr sichtbar ist.
Danach wird der weitere Code verarbeitet.

jajiewu
11.11.2003, 11:02
hab ich kapiert, danke

noch eine frage dazu.
Dem Code der unterbrochen wird , dem ist es egal wie lange er warten muss , macht ihm auch nichts aus was sonst noch an Anweisungen während der Benutzung der Anwendung augferufen wird.

ich versteh davon nicht so viel , soll nur ein Frage sein , keien kritischen bedenken

Rom
12.11.2003, 07:23
Hallo jajiewu,
das stimmt, der Code ist dann solange in "Wartestellung"bist du diese Formular verlässt. Du kannst aus deiner Anwendung heraus dann weitere Codes oder Formulare etc. aufrufen und bearbeiten ohne das der "Start-Code" abgearbeitet wird.

jajiewu
12.11.2003, 19:16
thanks

jajiewu
09.02.2004, 13:29
Muss mich zu dieser Frage nochmal melden, weil die Anwendung sich nun wieder schlisst sobald ich im Eingangsformular klick um das nächste zu öffnen .
Der einfachheit halber hab ich ein neues Project angelegt mit nur zwei Formularen „Form1“, „Form2“ und einem Modul „Modul_1“ das Modul ist im Project als „Startobject festgelegt.

Klick ich auf den Button1 öffnet sich das Form2 und die Anwendung schliesst sich (alles fehlerfrei) was sie aber nicht soll , und ich weiss nicht was da nun verkehrt sein soll

<b>Sub main()</b>
Dim frm As Form
Try
frm = New Form1
frm.ShowDialog()
Catch
MsgBox(Err.Number & vbCrLf & Err.Description)
End Try
frm = Nothing
<b>End Sub</b>

<b>Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click</b>
Dim frm As New Form2
Me.Hide()
frm.Show()
<b>End Sub</b>

Angel-Knight
04.06.2004, 10:05
was ist gegen den befehl end einzuwenden?