Ini-Datei - Typen unverträglich

psychomama

Mitglied
(Vorneweg - hab leider vergessen den Titel zu ändern. Den Typen unverträglihc Fehler hab ich bereits gerunden...)


Hab jetzt verschiedene Varianten probiert meine Ini-Datei zu bearbeiten, aber so ganz will es nicht funktionieren. Beim einen funktioniert das das Speichern aber das Laden nicht und umgekehrt. Kombiniert kommt auch ein Fehler.... ):

Ich schreib euch mal n bisschen Code hier rein...
Hoffe ihr findet den Fehler.

Code:
' Form 1
Public Sub formladen()
    
   'Datenbank öffnen und Recordset füllen
    On Error GoTo datenbankfehler
    con.Provider = "Microsoft.Jet.Oledb.4.0"

    Call Ini.pfade_laden
    
    'Pfad.Show
    'Datensätze.Hide

    con.Open datenbank
    speicherfehler = False

    Exit Sub
datenbankfehler:     If speicherfehler = True Then
                        antwort = MsgBox("Fehler")
                     Else
                        antwort = MsgBox("Momentan ist keine Datenbankverbindung hergestellt! Bitte geben Sie den Pfad Ihrer Datenbank an!", vbCritical, "Achtung!")
                        Datensätze.Hide
                        Pfad.Show
                     End If
End Sub



'Form 2
Private Sub cmdspeichern_Click()

    datenbank = txtdatenbank.Text
    images = txtimages.Text
    
    WritePrivateProfileString "Pfade", "Imagefad", images, App.Path & "\Pfade.ini"
    WritePrivateProfileString "Pfade", "Datenbankpfad", datenbank, App.Path & "\Pfade.ini"
    
    Pfad.Hide
    Datensätze.Show
    speicherfehler = True
    Call Datensätze.formladen
    
End Sub



' Modul 1
Public Function SaveINISetting(ByVal Filename As String, ByVal Key As String, ByVal Setting As String, ByVal Value As Variant)

   Call WritePrivateProfileString(Key, Setting, Value, Filename)
   
End Function

 
Public Function GetINISetting(ByVal Filename As String, ByVal Key As String, ByVal Setting As String, ByVal Default As Variant) As Variant

   Dim Temp As String * 1024

   Call GetPrivateProfileString(Key, Setting, Default, Temp, Len(Temp), Filename)
   GetINISetting = Mid(Temp, 1, InStr(1, Temp, Chr(0)) - 1)
   
End Function


Public Function pfade_laden()

    datenbank = GetINISetting(App.Path & "\Pfade.ini", "Pfade", "Datenbankpfad", "Vorgabe")
    images = GetINISetting(App.Path & "\Pfade.ini", "Pfade", "Imagespfad", "Vorgabe")
    
End Function


Zum Programmstart mit einem richtigen Pfad in der Ini funktioniert das Laden ohne Fehler. Ändere ich aber in Form 2 meinen Pfad und speichere kommt beim wiederholten Laden ein Laufzeitfehler. Das Speichern allerdings funktioniert. Mein geänderter Pfad steht in der Ini-Datei.
Hilfe! Versuch schon seit 2 Tagen diese einfache Ini mit 2 Pfaden hinzukriegen. ):
 
Zuletzt bearbeitet:
Also ich weiss nicht, ob du dich einfach nur vertippt hast, aber mir fällt das hier ins Auge:

Visual Basic:
WritePrivateProfileString "Pfade", "Imagefad", images, App.Path & "\Pfade.ini"

images = GetINISetting(App.Path & "\Pfade.ini", "Pfade", "Imagespfad", "Vorgabe")

Einmal schreibst du "imagefad"
das andere mal "imageSPfad"
 
In der Tat, da hab ich mich wohl vertippt.
Und einen 2. Fehler hab ich auch gefunden.
Wenn ein Falscher pfad geöffnet wird, wird 'con.open' durchgeführt und ein neuer soll eingegeben werden. Danach soll in der selben Form con.open nochmal durchgeführt werden. :) Bis man darauf kommt dass ein con.close fehlt :x vorallem wenn man den Laufzeitfehler nicht angezeigt bekommt wegen der dummen Fehlerbehandlug...
Danke danke jetzt funktionierts. :)
 
Zurück