Tools & Components Tools & Components
    Professionelle Entwicklerkomponenten für Visual Basic, .NET und MS-Access
www.tools4vb.com   
 
 
  HOME
  Willkommen
  News
  Impressum
  Datenschutz
  Referenzen
  Kundenmeinungen
  TOP-Angebot
  Online-Shop
 
  ENTWICKLERTOOLS
  Oberfläche & Design
  DataGrid & Listen
  Statistik
  Internet / ISDN
  Zip & Verschlüsselung
  DTA / Kontonummern
 
  DOWNLOAD
  Komplettinstallation
  Bugfixes und Patches
  Online-Hilfe
  Sonstige Downloads
 
  SUPPORT
  Diskussionsforum
  Tipps & Tricks
  FAQ
 
  FUNKTIONEN
  als Startseite
  zu den Favoriten
 
  PARTNERSEITEN
vb@rchiv - Alles für VB-Entwickler roSoft - mehr als 15 Jahre Profi-Software!
 
 
 

HOME > FAQ > Allgemein

 

FAQ: Allgemein

 
 

Fehler beim Beenden der Anwendung
Beim Beenden der Anwendung kommt es zu einer Schutzverletzung und der Task bleibt im Windows-Speicher weiterhin bestehen.
Kategorie:Allgemein
VB-Versionen:VB5/6
Autor:Dieter Otter
Datum:09.08.07
Views:5552

 
 

Problem:
Beim Beenden der Anwendung kommt es zu einer Schutzverletzung und der Task bleibt im Windows-Speicher weiterhin bestehen.

Ursache:
In aller Regel wird dieses Problem durch Verwenden der VB-Anweisung End verursacht. Die End-Anweisung beendet eine Anwendung ohne die noch geladenen Objekte und Formen korrekt zu entladen. In vielen unseren Steuerelementen wird "Sub-Classing" eingesetzt, was zu einer Schutzvertzung führen kann, wenn die Komponente nicht "sauber" entladen wird.

Lösung:
Verwenden Sie anstelle der End-Anweisung eine kleine Prozedur, in der alle Formen korrekt entladen werden. Diese Prozedur sollte sich in einem Modul befinden:

' Anwendung sauber beenden
Publi Sub AppExit()
  Static bWorking As Boolean

  ' Damit die Prozedur nicht mehrfach 
  ' (rekursiv) aufgerufen werden kann
  If bWorking Then Exit Sub

  Dim oForm As Form
  bWorking = True

  ' alle Formen durchlauden und entladen
  For Each oForm In VB.Forms
    Unload oForm
  Next 
  bWorking = False
End Sub

Ersetzen Sie jetzt alle End-Anweisungen in Ihrem Projekt durch AppExit. Die Anwendung wird dann autom. beeendet, sobald alle Formen entladen wurden. Es ist kein expliziter Aufruf von End mehr notwendig!
 


zurück Zurück zur Übersichtsseite

   

 

nach oben

Optimiert für den Internet Explorer bei 1024x768 Pixel
Copyright ©1997-2019 Tools & Components, Dieter Otter
Alle Rechte vorbehalten.
 

Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.