Hi,
mein XP spielt verrückt. Dies werde ich an folgendem Programmierbeispiel erläutern:
Ich habe in 3 Formen folgenden Code stehen, welcher den Skin auslesen soll:
Delphi-Quellcode:
with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'settings.ini') do
begin
if DirectoryExists(ExtractFilePath(Application.ExeName) + 'skins\') then
s := ExtractFilePath(Application.ExeName) + 'skins\' + ReadString('FM', 'Skin', 'blue.dpsf')
else
Application.Terminate;
Free;
end;
Hier die Inhalte von s in allen Formen:
1 = blue.dpsf (FALSCH!)
2 = gray.dpsf (korrekt)
3 = gray.dpsf (korrekt)
Wie kann das sein ? Stimmt da irgendetwas nicht (in jedem Programm hat dieser Code funktioniert, nur hier nicht) ? In der Ini stimmt auch alles, allrdings scheint es sogar von Ini zu Ini verschieden zu sein (verstehe ich auch nicht), da sich die falsch gemalten Formen regelrecht austauschen (in einem Verzeichniss wird Form1 falsch gemalt, im anderen Form2 und Form3):
1:
Code:
[FM]
frmFavs_Top=103
frmFavs_Left=192
Top=466
Left=292
OPS=0
OPM=1
Skin=Gray.dpsf
2:
Code:
[FM]
Filter=.mp3;.wav;.wma;.aiff;.aif;.ogg;.mpeg;.mpg;.wmv;.avi;.dat
ODPath=C:\Dokumente und Einstellungen\NILS1\Desktop
frmOp_Top=143
frmOp_Left=266
ViewStyle=2
Rek=1
Top=431
Left=238
OPS=0
frmFavs_Top=103
frmFavs_Left=192
OPM=1
Wenn ihr mein Programm kennen würdet, wüsstet ihr, dass das nicht korrekt ist, da dort Einträge fehlen.
Wenn ich die falsch angelegte (das war ein Codefehler, den ich beseitigt habe) Sekion lösche, dann startet die entsprechende Form dennoch mit den korrekten Einstellungen und in der Ini wird die Sektion wiederhergestellt.
Beispiel:
Vor dem Programmstart:
Code:
[FM]
Filter=.mp3;.wav;.wma;.aiff;.aif;.ogg;.mpeg;.mpg;.wmv;.avi;.dat
ODPath=C:\Dokumente und Einstellungen\NILS1\Desktop
frmOp_Top=143
frmOp_Left=266
ViewStyle=2
Rek=1
Top=431
Left=238
OPS=0
frmFavs_Top=103
frmFavs_Left=192
OPM=1
Nach Programmende:
Code:
[FM]
Filter=.mp3;.wav;.wma;.aiff;.aif;.ogg;.mpeg;.mpg;.wmv;.avi;.dat
ODPath=C:\Dokumente und Einstellungen\NILS1\Desktop
frmOp_Top=143
frmOp_Left=266
ViewStyle=2
Rek=1
Top=431
Left=238
OPS=0
frmFavs_Top=103
frmFavs_Left=192
OPM=1
[Settings] <-- das darf nicht sein!
frmODdTop=359
frmODdLeft=259
Filter=.ico
ODPath=C:\Dokumente und Einstellungen\NILS1\Desktop
frmOp_Top=143
frmOp_Left=266
ViewStyle=2
Rek=1
Im Code sind keinerlei Fehler. Was ist das ? Windowsbug oder Virus ?