Programm lässt sich im Debugger nicht mehr starten

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Programm lässt sich im Debugger nicht mehr starten

    Nachdem ich einige Zeit editiert habe, meldet der Application.Designer.vb beim Debugging:
    "Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Die ConnectionString-Eigenschaft wurde nicht initialisiert.."
    Ich habe in "My Project" probehalber eine andere Form als Startformular eingesetzt; die wird angezeigt!
    Nach der Änderung auf Hauptformular, wieder der Fehler.
    Im Einzelschrittdebugging komme ich bis zum "Form_Load", dann taucht im Applicatin.Designer.vb an der Zeile
    " Me.MainForm = Global.uSDBOrga.FormMajor"
    ober genannte Fehlermeldung auf.

    Hab ich da 'was zerschossen?
    Ich hoffe auf Eure Hilfe; vielen Dank schonmal!



    Sry, versteh ich nich...

    im Projektmappen-Explorer kann ich unter "My Project -> Anwendung -> Startformular" mit der Combobox das Formular auswählen, mit dem das Programm startet. Alle Formulare, die ich hier probehalber auswähle, werden beim Debugging angezeigt (was natürlich zu nichts Vernünftigem führen kann (aber ich kann sie sehen)) - ausser mein Hauptformular (siehe Ursprungsfrage); da erscheint diese für mich kryptische Fehlermeldung...
    Unter "My Project" "Einstellungen" habe ich auf den Reiter "Code anzeigen" geclickt und sehe eine Datei "Settings.vb". Da steht drin:

    VB.NET-Quellcode

    1. Namespace My
    2. 'Diese Klasse ermöglicht die Behandlung bestimmter Ereignisse der Einstellungsklasse:
    3. ' Das SettingChanging-Ereignis wird ausgelöst, bevor der Wert einer Einstellung geändert wird.
    4. ' Das PropertyChanged-Ereignis wird ausgelöst, nachdem der Wert einer Einstellung geändert wurde.
    5. ' Das SettingsLoaded-Ereignis wird ausgelöst, nachdem die Einstellungswerte geladen wurden.
    6. ' Das SettingsSaving-Ereignis wird ausgelöst, bevor die Einstellungswerte gespeichert werden.
    7. Partial Friend NotInheritable Class MySettings
    8. End Class
    9. End Namespace

    was ist hier zu tun?
    Oder
    Merk Dir die Zeile und nimm sie aus der FormX.Designer.vb raus (wenn es dan geht, i.O., wenn nicht; weitere Zeilen rausnehmen und merken).
    Wenn dann die Form angezeigt wird, musst Du die gelöschten Sachen im Designer wieder zuweisen bzw. graderücken.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ... Auch nicht
    EdR: Den ConnectionString zur DB hat sich der Compiler noch garnich angekuckt. Im Einzelschritt durchlaufe ich wie gesagt die Initialisierung der Variablen im Hauptformular, aber danach (wenns zum FormLoad kommt) erscheint der Fehler.

    RfG: An den gesetzten Haltepunkt in der ersten Zeile des FormX.Designer.vb (bei mir formmMajor.Designer.vb) kommt er garnich hin, die Fehlermeldung erscheint eher.

    Habe ich nicht ganz verstanden, aber evtl ist das eine Spur (Zitat Problembehandlung): Wenn Sie den Code im Visual Studio-Debugger ausführen, wird eine InvalidOperationException ausgelöst, wenn Sie in einem Thread auf ein Benutzeroberflächenelement zugreifen, dieses Element aber nicht von diesem Thread erstellt wurde.
    Der Debugger warnt Sie mit dieser Ausnahme vor einem gefährlichen Programmierstil.

    JoyMan schrieb:

    die Fehlermeldung erscheint eher.
    Meinst Du die Prozedur InitializeComponent()? Die wird im Konstruktor der Klasse aufgerufen, setz da mal einen Haltepunkt in die 1. Zeile.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @ EdR: war nur sone Idee,keine Ahnung was damit gemeint ist

    @ RfG: Ich habe einen Haltepunkt an die Zeile gesetzt (hier Zeile 7+8), er hält da auch an, aber beim nächsten F8 kommt die Fehlermeldung.

    VB.NET-Quellcode

    1. 'Wird vom Windows Form-Designer benötigt.
    2. Private components As System.ComponentModel.IContainer
    3. 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
    4. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
    5. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
    6. <System.Diagnostics.DebuggerStepThrough()> _
    7. Private Sub InitializeComponent()
    8. Me.components = New System.ComponentModel.Container()
    9. Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormMajor))
    10. Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    11. Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    12. Dim DataGridViewCellStyle4 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    13. Dim DataGridViewCellStyle5 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    14. Dim DataGridViewCellStyle6 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    15. Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    16. Dim DataGridViewCellStyle7 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    17. Me.cbxSelKun = New System.Windows.Forms.ComboBox()
    18. Me.lblVtKE = New System.Windows.Forms.Label()
    Zwischendurch vergehen einige Sekunden und der Prozessorkühler fährt hoch - keine Ahnung womit der sich beschäftigt

    JoyMan schrieb:

    aber beim nächsten F8 kommt die Fehlermeldung.
    Haltepunkt auf Zeile 9 hier.
    Wie ist bei Dir F8 belegt? Bei mir F10 - Einzelschritt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke für Deine Unterstützung RfG; hier geht's um mein gesamtes Projekt!

    F8 - Einzelschritt
    F10 - Prozedurschritt, so steht das bei mir in der Buttonleiste

    Zeile 9 wird verarbeitet, bei Z10 : Fehlermeldung - "Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Die ConnectionString-Eigenschaft wurde nicht initialisiert.."
    Wo steht denn der

    JoyMan schrieb:

    ConnectionString
    :?:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Keine Ahnung worauf sich das bezieht.

    Das FormMajor kann ich unter [MyProject -> Anwendung -> Startobjekt] wie alle anderen Forms in der ComboBox auswählen.

    Dann gibt es noch ein ConnectionString zur Datenbank, das ich im den Deklarationen des FormMajor deklariere und in einer Sub vom FormMajor seine Eigenschaft zuweise.

    VB.NET-Quellcode

    1. Private Sub ProgInit()
    2. con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & My.Settings.DatDBDatei 'VerzeichnisPfad + Dateiname
    3. cmd.Connection = con
    4. 'chkKurzBDekoKopf.Checked = My.Settings.DekoKopf 'Alle über PropertyBinding-My.Settings.DekoKopf)
    Da kommt er allerdings garnicht mehr hin, obwohl das alles bis vor Kurzem wunschgemäss funktioniert hat.

    JoyMan schrieb:

    Datenbank
    hab ich keine Ahnung von. Sorry.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das ist mir schon klar, nur ich kann es so nicht nachvollziehen.
    Vllt. machst Du ein neues Projekt und ziehst die Teile des alten der Reihe nach rüber.
    Teste nach jedem Schritt, ob es noch geht.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!