Kann bitte jemand meinen Code mal kontrollieren und mir sagen, wieso IniWrite nicht schreibt?
Spoiler anzeigen
#include <GUIConstants.au3>
GUICreate("Packer für Tray Backup", 800, 600)
GUISetIcon("D:\Multimedia\Bilder\diceworks.ico")
SplashImageOn("DICEworks", @WorkingDir & "\splash.bmp", 200, 200)
Sleep(2000)
SplashOff()
GUISetState(@SW_SHOW)
startup()
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
Exit
EndIf
WEnd
[/autoit] [autoit][/autoit] [autoit]Func startup()
$tb_pfad = IniRead(@WorkingDir & "\pftb.ini", "General", "TrayBackupPfad", "kA")
If $tb_pfad = "kA" Or $tb_pfad = "" Then
$a = FileOpenDialog("Bitte traybackup.exe auswählen", @WorkingDir, "EXE-Datei(traybackup.exe)")
If @error Then
MsgBox(48, "Fehler", "Es wurde keine Datei ausgewähl. Bitte wählen Sie die Datei traybackup.exe aus.")
Else
$pos = StringInStr($a, "\", 0, -1)
If @error Then
fehler_allg()
Else
$a = StringTrimRight($a, $pos)
If @error Then
fehler_allg()
Else
MsgBox(0, "", $a)
FileSetAttrib(@WorkingDir & "\pftb.ini", "-R")
$x = IniWrite(@WorkingDir & "\pftb.ini", "General", "TrayBackupPfad", $a)
If $x = 0 Then
fehler_ini()
Else
$suche = FileFindFirstFile($a & "*.bpr")
If @error Then
fehler_suche_start()
Else
While 1
$bpr = FileFindNextFile($suche)
If @error Then
ExitLoop
EndIf
MsgBox(4096, "File:", $bpr)
WEnd
FileClose($suche)
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndFunc
Func fehler_allg()
MsgBox(48, "Fehler", "Es trat ein unerwarteter Fehler auf. Bitte versuchen Sie es erneut.")
EndFunc
Func fehler_ini()
MsgBox(48, "Fehler", "Die Datei pftb.ini im pftb-Verzeichnis konnte nicht verarbeitet werden.")
EndFunc
Func fehler_suche_start()
MsgBox(48, "Fehler", "Sicherungsprojekte können nicht gefunden werden.")
EndFunc
Ich habe auch aus Spaß mal $x = 0 durch $x = 1 ersetzt und die Fehlermeldung kam. Daraus muss ich schließen, dass IniWrite funktioniert. Aber wieso steht dann nichts in meiner Ini.
Die Ini hat übrigens von Anfang an dieses Aussehen:
[General]
TrayBackupPfad=