Benutzer mit den meisten Antworten
Benutzersteuerelement exception

Frage
-
Hallo zusammen ich habe folgendes problem
ich benutze vs 2013 und vs 2017
und was mir aufgefallen ist bei der 2013 version funktioniert mein code
und bei vs 2017 bekomme ich fehler bei gleichem code und immer den gleichen.
Ich benutze ein UserControl als zeichenfläche die mir eine FillElipse anzeigt die sich bewegen soll und an den rändern abprallt, funtioniert bei vs 2013 wunderbar, und bei 2017 bekomme ich halt fehler im Designer mit der Null reference exception.
egal ob ich net klasse 4.6 oder 3.5 nutze
ich hoffe mir kann einer helfen
Antworten
-
Hi Christian,
zur besseren Arbeit des Designers wurden da eine Reihe von Verbesserungen in den VS Versionen implementiert, die unpassende Zustände u.U. anders verarbeiten.Null reference exception bedeutet, dass es in Deinem Code eine Variable gibt, in der es keinen Verweis auf ein Objekt gibt. Wenn das im Designer passiert, dann kann die Ursache sein, dass während der Entwurfsarbeiten der Zugriff auf eine Ressource nicht möglich ist, weil sie u.U. nicht erreichbar oder falsch sind oder auch Rechte fehlen. Ein Ressource kann ein Pfad zu einer Datei im Dateisystem oder auch ein Datenbankserver (ConnectionString) sein.
Um den Fehler zur Entwurfszeit zu finden, kann man eine zweite Instanz des VS2017 starten, dasselbe Projekt öffnen und dann in der zweiten VS2017 Instanz Haltepunkte setzen, z.B. auf der Anweisung, die den Fehler bringt. Zu Beginn sollten in der ersten Instanz alle Designer-Fenster geschlossen werden. Nach dem Setzen der Haltepunkte in den Code-Dateien (Designer Anzeigen geschlossen halten) ist dann die zweite Instanz an den Prozess der ersten Instanz zu hängen. Wichtig ist nur, dass in beiden Instanzen dasselbe Projekt in unverändertem Zustand/Inhalt (auch keine geänderten Kommentare, keine gelöschten Zeilen) geladen wird. Sobald in der ersten Instanz der Designer wirksam wird (Ansicht anzeigen, die den Fehler bringt), wird in der zweiten Instanz der Haltepunkt angesprungen (wenn er richtig positioniert ist).
--
Viele Grüsse
Peter Fleischer (ehem. MVP)
Meine Homepage mit Tipps und Tricks- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 11. September 2018 09:23
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 19. September 2018 04:31
-
Hi Christian,
Glaskugel, die Code zeigt, ist z.Z. nicht verfügbar :-)Wenn beim Zeichnen im Designer-Modus z.B. der Verweis auf das Graphics-Objekt nicht gesetzt ist, dann kann das passieren.
--
Viele Grüsse
Peter Fleischer (ehem. MVP)
Meine Homepage mit Tipps und Tricks- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 11. September 2018 09:24
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 19. September 2018 04:31
Alle Antworten
-
Hi Christian,
zur besseren Arbeit des Designers wurden da eine Reihe von Verbesserungen in den VS Versionen implementiert, die unpassende Zustände u.U. anders verarbeiten.Null reference exception bedeutet, dass es in Deinem Code eine Variable gibt, in der es keinen Verweis auf ein Objekt gibt. Wenn das im Designer passiert, dann kann die Ursache sein, dass während der Entwurfsarbeiten der Zugriff auf eine Ressource nicht möglich ist, weil sie u.U. nicht erreichbar oder falsch sind oder auch Rechte fehlen. Ein Ressource kann ein Pfad zu einer Datei im Dateisystem oder auch ein Datenbankserver (ConnectionString) sein.
Um den Fehler zur Entwurfszeit zu finden, kann man eine zweite Instanz des VS2017 starten, dasselbe Projekt öffnen und dann in der zweiten VS2017 Instanz Haltepunkte setzen, z.B. auf der Anweisung, die den Fehler bringt. Zu Beginn sollten in der ersten Instanz alle Designer-Fenster geschlossen werden. Nach dem Setzen der Haltepunkte in den Code-Dateien (Designer Anzeigen geschlossen halten) ist dann die zweite Instanz an den Prozess der ersten Instanz zu hängen. Wichtig ist nur, dass in beiden Instanzen dasselbe Projekt in unverändertem Zustand/Inhalt (auch keine geänderten Kommentare, keine gelöschten Zeilen) geladen wird. Sobald in der ersten Instanz der Designer wirksam wird (Ansicht anzeigen, die den Fehler bringt), wird in der zweiten Instanz der Haltepunkt angesprungen (wenn er richtig positioniert ist).
--
Viele Grüsse
Peter Fleischer (ehem. MVP)
Meine Homepage mit Tipps und Tricks- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 11. September 2018 09:23
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 19. September 2018 04:31
-
Hi Christian,
Glaskugel, die Code zeigt, ist z.Z. nicht verfügbar :-)Wenn beim Zeichnen im Designer-Modus z.B. der Verweis auf das Graphics-Objekt nicht gesetzt ist, dann kann das passieren.
--
Viele Grüsse
Peter Fleischer (ehem. MVP)
Meine Homepage mit Tipps und Tricks- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 11. September 2018 09:24
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 19. September 2018 04:31