Richtig Beenden

Kyrodust

Erfahrenes Mitglied
Ich habe einen Webbrowser programmiert. Allerdings wenn ich die letzte Form beenden will (Mainscreen), ist das Programm zwar beendet aber leider ist es noch im Task-Menü drinnen und ich muss es mit Strg-Alt-Entf. beenden. Was kann ich tun???? Helft mir bitte!!!!


cu LordAlucard
 
Hast Du andere Forms geöffnet und mit Hide versteckt? Dann kannst Du sie in der unload Mothode mit einbinden.

Gruß Tobi
 
Ich glaube nicht, aber wie kann ich das kontrollieren. Und wenn ja, wie kann ich die Upload Methode verwenden?

cu LordAlucard
 
Wenn die geöffnete Form z.B. Form2 ist, schreibst du in der mainform:

Code:
private sub form_unload()

  unload Form2

end sub

Wenn die Form2 schon geschlossen (also entladen) ist, gibt es keinen Fehler, im Zweifelsfall alle möglichen forms aufführen
 
In die Hauptform:
Code:
Dim F as Form
For Each F in Forms
    If F.Name <> "frmMain" Then Unload F
Next
Unload Me

Ich hab im Moment aber nur Delphi daurf, deshalb weiß ich nicht ganz sicher ob der Code läuft. Prinzipiell ist er aber richtig. Forms ist eine Collection, die alle Forms enthält. Mit For Each wird jedes Formular durchgegangen. Damit es keinen Fehler gibt, wird das Hauptformular als letztes beenden.

mfg Grimreaper
 
Is halt ein wenig umständlich wenn man nur 2 Forms oder so hat, aber dafür allgemein einsetzbar.

mfg Grimreaper

P.S. Freut mich mal nem anderen was beigebracht zu haben :)
 
Servuz,

Man kann aber auch jedes Form so unloaden


Set frm1 = Nothing

Damit ist die Form frm1 komplett aus dem Speicher entfernt.

Macht's gut
 
Beenden wenn Form geschlossen wird

Wenn das ganze Programm beendet werden soll wenn ein bestimmtes Fenster, z.B. frmMain, geschlossen wird kannst du auch einfach den Befehl end in das Unload-Ereignis des Formulars schreiben.

Dann muss man sich auch keine Gedanken machen welche sonstigen Fenster noch offen sind.

Code:
Private Sub Form_Unload(Cancel As Integer)
    End
End Sub
 
Zurück