vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Sch?tzen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2022
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
OnLoad und OnShown wird 2x ausgeführt 
Autor: Bazi
Datum: 06.04.22 10:59

Hallo,
ich habe auf einem Tablett ein Problem mit einem meiner Programme.
So wie ich bis jetzt ermittelt habe wird das Form_Load und das Form_Shown doppelt ausgeführt. Wobei es aber im 2.Durchgang beim Form_Shown nicht bis zum Ende läuft sondern vorher abbricht.

Dadurch werden dann Ansichten nicht so geladen wie es sein soll, es kommt im weiteren Programmablauf auch zu weiteren Fehlern, die ich noch nicht näher eingegrenzt habe.

Das Phänomen tritt auf einem von 8 Tabletts auf mit denen wir arbeiten. In diesem Fall ein Surface.

Ich habe bereits mehrfach das Programm deinstalliert und neu aufgespielt, und versuche die Ursache nun weiter einzugrenzen.
Ist Euch so ein seltsames Verhalten und die eventuelle Ursache bekannt?

Gruß Christian

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OnLoad und OnShown wird 2x ausgeführt 
Autor: Manfred X
Datum: 06.04.22 13:35

Hallo!

Mir ist nicht bekannt, dass das Windows-Betriebssystem oder das Framework bzw. Net-Core
oder CLI solche Erscheinungen bewirkt.
Ich vermute, es liegt eher an einer Ereigniskette, die durch den Code in den Eventhandlern
ausgelöst wird. Du schreibst, es geschieht im Rahmen von "Ladevorgängen". Ich würde zunächst
überprüfen, was geladen wird und welche Ereignisse dabei ausgelöst werden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OnLoad und OnShown wird 2x ausgeführt 
Autor: Bazi
Datum: 07.04.22 09:49

mich irritiert dass es nur bei einem Gerät auftritt, nicht bei allen.

Dann baue ich mal ein Codelogging ein und vergleiche welche Prozeduren in welcher Reihenfolge aufgerufen werden. Das gleiche ich dann für die verschiedenen Geräte miteinander ab.

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OnLoad und OnShown wird 2x ausgeführt 
Autor: Bazi
Datum: 19.04.22 18:27

Ich habe nun ein Code-Logging eingebaut. Das hat mich jedoch nicht weiter gebracht, die Ausgabe vom Programmstart bis ich die Ausgabe erzeugen kann gibt im PDF knapp 500 Seiten. Das zu vergleichen war mir nicht wirklich möglich.
Allerdings ist mir aufgefallen dass sich ein Formular nicht schließen lässt.

Die Auslastung der CPU geht auf 99,9% nach oben.

Was passiert denn, wenn der Zugriff auf eine Komponente nicht funktioniert weil ein Teil vom FrameWork nicht richtig geladen oder installiert ist?

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OnLoad und OnShown wird 2x ausgeführt 
Autor: Manfred X
Datum: 19.04.22 19:20

Ich kann nur raten.
Eventuell wird beim Laden des Formulars auf diesem Endgerät ein
Ereignis ausgelöst, dessen Handler-Parameter (oder Werte in global definierten
Input-Variablen) eine Kette von weiteren Ereignissen nach sich ziehen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OnLoad und OnShown wird 2x ausgeführt 
Autor: Bazi
Datum: 19.04.22 20:36

Fehler beseitigt, aber nicht verstanden.
Unter %AppData% waren 2 Verzeichnisse mit meinem Programmnamen abgelegt. Darin die My.Settings.
Habe beide gelöscht, nun läuft es.

Mich irritiert daran besonders dass es keine Fehlermeldung gab.

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OnLoad und OnShown wird 2x ausgeführt 
Autor: Manfred X
Datum: 19.04.22 22:37

Im Prinzip musst Du alle Werte, die von ausserhalb in eine Anwendung
eingebracht werden, zunächst auf Brauchbarkeit prüfen:
Windows-Einstellungen, Umgebungsvariablen, Settings, Benutzereingaben usw.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OnLoad und OnShown wird 2x ausgeführt 
Autor: Bazi
Datum: 21.04.22 13:41

Problem noch nicht final gelöst.
Nachdem ich die Verzeichnisse gelöscht habe hat das Programm einwandfrei funktioniert. Es startete mit Standardwerten.
Heute hatte ich wieder das gleiche Problem.
Ich habe inzwischen bei jedem Zugriff auf die My.Settings einen Try/Catch Block eingebaut der mir eine Fehlerausgabe schreiben sollte. Es läuft da aber nicht rein, wird also kein Fehler ausgelöst.

Nachdem ich nach dem heutigen Problem die Settings-Datei wieder gelöscht habe funktioniert es derzeit wieder.

Wie kann ich denn die Settings auf Brauchbarkeit prüfen? Ich habe darin lediglich String, Boolean, Integer und Drawing.Color Werte abgespeichert.

Danke für die Hilfe

Gruß Christian

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OnLoad und OnShown wird 2x ausgeführt 
Autor: Manfred X
Datum: 21.04.22 17:54

Hallo!

Eine Ausnahme wird nur ausgelöst, wenn der geladene Settings-Wert nicht in den
dafür vorgesehenen Datentyp passt.
Das hat nichts damit zu tun, ob das Programm die Ausprägung dieses Wertes "sinnvoll"
verarbeiten kann.
Offenbar wird von der Anwendung beim Beenden eine Settings-Datei gefüllt mit Werten,
die für das Gerät unbrauchbar sind.
Du solltest beim Beenden des Programm deshalb zunächst kontrollieren, welche Werte
aktuell in den Einstellungen vorliegen. Das könnte weitere Hinweise liefern.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2022 vb@rchiv 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel