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   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
VB.Net VS2019Pro - My.Settings Problem 
Autor: Dideldum
Datum: 14.12.22 18:02

Hi Ihr,
ich quäle mich etwas mit dem Umstieg vom VB6 auf das VB.net.
Aktuell habe ich folgendes Problem:

Das Programm liegt auf einem eingebundenen Netzwerkpfad, falls das wichtig sein sollte

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Try
            If My.Settings.QuellPfad.Length = 0 Then
                My.Settings.QuellPfad = "C:\"
            End If
            If My.Settings.MainLocation.IsEmpty Then
                Me.Size = New System.Drawing.Size(800, 600)
            Else
                Me.Size = My.Settings.MainSize
                Me.Location = My.Settings.MainLocation
            End If
        Catch ex As Exception
            Debug.Assert(False)
            Trace.WriteLine("Fehler: Wo: " & ex.StackTrace & " Was: " & _
              ex.Message)
        End Try
    End Sub
und

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) _
      Handles MyBase.FormClosing
        Try
            My.Settings.MainSize = Me.Size
            My.Settings.MainLocation = Me.Location
            My.Settings.Save()
        Catch ex As Exception
            Debug.Assert(False)
            Trace.WriteLine("Fehler: Wo: " & ex.StackTrace & " Was: " & _
              ex.Message)
        End Try
    End Sub
Sollte m.E. funktionieren.
Aaaaaaber...
Beim Debuggen mit Einzelschritt werden im FormClosing den beiden My.Settings.Mainsize und My.Settings.MainLocation zwar die korrekten Werte von FensterPos und -Size übergeben.
Aber im Programmfolder bleibt die Dateiname.config unverändert bzw. auf dem Standard-Settings.
Obwohl beim Programmneustart der String "QuellPfad" den Wert des letzten Programmlaufs erhält.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" _
          type="System.Configuration.UserSettingsGroup, System," & _
          "Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="ICE.My.MySettings" _
            type="System.Configuration.ClientSettingsSection, System," & _
            "Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" _
            allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
    <userSettings>
        <ICE.My.MySettings>
            <setting name="QuellPfad" serializeAs="String">
                <value>C:\</value>
            </setting>
            <setting name="Unterpfad" serializeAs="String">
                <value />
            </setting>
            <setting name="MainLocation" serializeAs="String">
                <value>0, 0</value>
            </setting>
            <setting name="MainSize" serializeAs="String">
                <value>800, 600</value>
            </setting>
        </ICE.My.MySettings>
    </userSettings>
</configuration>
In "Debuggen" - "Test1 - Debugeigenschaften" - "Einstellungen" habe ich:
Quellpfad - String - Benutzer - C:\
MainLocation - System.Drawing.Point - Benutzer - 0;0
MainSize - System.Drawing.Size - Benutzer - 800;600

Ich verstehe gar nicht, warum der QuellPfad korrekt gespeichert wird, während MainLocation und MainSize ignoriert werden.
Und warum sich der dem QuellPfad zugewiesene String nicht in der .Config-Datei findet.

Kann mir da vielleicht jemand von Euch helfen, weiterzukommen?

Beste Grüsse und Danke schon mal.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB.Net VS2019Pro - My.Settings Problem 
Autor: Dideldum
Datum: 14.12.22 18:06

Ach ja, hier noch die sub zur Zuweisung des Strings QuellPfad dessen Speicherung funktioniert (nur wo wird dieser String gespeichert?):
   Private Sub DateiToolStripMenuItem_Click(sender As Object, e As EventArgs) _
     Handles DateiToolStripMenuItem.Click
        FolderBrowserDialog1.ShowDialog()
        My.Settings.QuellPfad = FolderBrowserDialog1.SelectedPath
        If My.Settings.QuellPfad.Substring(My.Settings.QuellPfad.Length - 1, 1) _
          <> "\" Then
            My.Settings.QuellPfad = My.Settings.QuellPfad & "\"
        End If
        verzeichnisListe()
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB.Net VS2019Pro - My.Settings Problem 
Autor: HenryV
Datum: 15.12.22 11:32

Das ist schon richtig so,. Die User-Settings (user.config) werden in den %LocalAppData% gespeichert. In der .exe.config-Datei (Programmordner) sind immer die Standardwerte gespeichert.

Falls du die Einstellungen im Programmordner haben willst:
- Alternative zu my.settings
- Customizable SettingsProvider for DotNets Application Settings (vb.net c# converter)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB.Net VS2019Pro - My.Settings Problem 
Autor: Dideldum
Datum: 15.12.22 14:38

Hi,

danke Dir!

Ja, das habe ich gestern auch noch herausgefunden, dass die zu Programmlaufzeit gespeicherten Variablen von My.Settings in
C:\Users\MyUserName\App-Name\App-Name und ein paar wirre Zeichen\Versionsnummer
abgelegt werden.

Auch meinen Fehler habe ich entdecken können.
In _Resize und _Move sollte man zu App-Ladezeiten besser kein my.settings.save() ausführen lassen, da damit wechselseitig die Standard-Settings geladen werden.
Der Fall ist also erledigt und ich kann weiterlernen.

Was mich wundert, im keinem meiner zum Lernen gekauften VS2019-Bücher ist etwas zu my.settings zu finden.
Nicht mal im "Einstieg in Visual Basic 2019" von Rheinwerk.

Kann mir da vielleicht einer von Euch ein umfassenderes Werk in Buchform empfehlen?
Denn VB.net unterscheidet sich schon gewaltig vom VB6, was ich über die Jahre liebgewonnen hatte.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB.Net VS2019Pro - My.Settings Problem 
Autor: Kuno60
Datum: 15.12.22 18:54

Mehr zu den Einstellungen (Settings) und weiter Links, findest du hier:
https://learn.microsoft.com/de-de/visualstudio/ide/reference/settings-page-project-designer?f1url=%3FappId%3DDev16IDEF1%26l%3DDE-DE%26k%3Dk(ApplicationSettingsOverview)%3Bk(TargetFrameworkMoniker-.NETFramework%2CVersion%253Dv4.8)%26rd%3Dtrue&view=vs-2022
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB.Net VS2019Pro - My.Settings Problem 
Autor: Dideldum
Datum: 15.12.22 19:23

Hi Kuno,

Danke auch Dir!

Um eine Sprache zu lernen, bevorzuge ich gedruckte Werke.
Etwas, was man in die Hand nehmen und als Bettlektüre verwenden kann.
Diese von Dir verlinkte Hilfe habe ich eh meist auf dem rechten Bildschirm offen.
Auf dem linken das laufende Projekt und in der Mitte das VB mit dem Code.

Da wäre ein umfassendes Buch also recht praktisch.
Früher kamen die ja mit dem Kauf des Programms immer mit.
Toolbook zwei Schwarten
VB6 noch ein fetter Schmöker
VB.net nüscht

Und leider finde ich im Web nicht wirklich umfassende Bücher zum VB.net 2019.
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-2024 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