Hallo,
bei Verwendung der Funktion WriteProfString(..) wird nur die Sektion, nicht aber Key=Value eingetragen. Der Returnwert ist 0. Also ist scheinbar alles in Ordnung.
Auch der zusätzliche Aufruf WriteProfString("","","",""); zum Schreiben des Caches bringt nichts.
Woran kann das liegen?
aki
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.

WriteProfString arbeitet nicht richtig
Started by
aki
, Nov 28 2007 13:21
4 replies to this topic
Posted 30 November 2007 - 15:44
Kannst du die Stelle in deinem Skript-Code posten wo du das WriteProfString aufrufst?
Stefan Krüger
InstallSite.org twitter facebook
Posted 04 December 2007 - 14:20
Der Aufruf erfolgt in OnFirstUIBefore() bzw. OnUpdateUIBefore() im Rahmen der Prüfung des benötigten Plattenplatzes nachdem TARGETDIR feststeht vor Dlg_SdStartCopy2 bzw. Dlg_ObjDialogs.
CODE |
szFileName = FOLDER_TEMP ^ "_" + "test.ini"; if (WriteProfString ( szFileName , "IFX_PRODUCT_NAME" , "Date_Time" , "test" ) < 0) then SprintfBox (SEVERE, "WriteProfString", "%s could not be updated", szFileName ); endif; WriteProfString("","","",""); |
Im Ergebnis befindet sich in test.ini nur der Eintrag
[IFX_PRODUCT_NAME]
nicht aber die auch erwartete Zeile
Date_Time=test
Danke für die Unterstützung.
aki
Posted 04 December 2007 - 16:28
Weitere kuriose Ergebnisse:
Sektion mit \n abgeschlossen:
WriteProfString ( szFileName , "IFX_PRODUCT_NAME\n" , "Date_Time" , "test" );
ergibt
[IFX_PRODUCT_NAME
]
Date_Time=test
[IFX_PRODUCT_NAME
]
Sektion mit [] geklammert:
WriteProfString ( szFileName , "[IFX_PRODUCT_NAME]" , "Date_Time" , "test" );
ergibt
[[IFX_PRODUCT_NAME]]
Date_Time=test
[[IFX_PRODUCT_NAME]]
Die (fehlerhaft) eingegebene Sektion wird zweimal geschrieben. Dazwischen befindet sich immerhin die sehnlichst erwartete Zeile Key=Value.
Bei wiederholten Aufrufen stehen die Ausgaben mehrfach in der ini-Datei.
Sektion mit \n abgeschlossen:
WriteProfString ( szFileName , "IFX_PRODUCT_NAME\n" , "Date_Time" , "test" );
ergibt
[IFX_PRODUCT_NAME
]
Date_Time=test
[IFX_PRODUCT_NAME
]
Sektion mit [] geklammert:
WriteProfString ( szFileName , "[IFX_PRODUCT_NAME]" , "Date_Time" , "test" );
ergibt
[[IFX_PRODUCT_NAME]]
Date_Time=test
[[IFX_PRODUCT_NAME]]
Die (fehlerhaft) eingegebene Sektion wird zweimal geschrieben. Dazwischen befindet sich immerhin die sehnlichst erwartete Zeile Key=Value.
Bei wiederholten Aufrufen stehen die Ausgaben mehrfach in der ini-Datei.
Posted 07 December 2007 - 18:41
Seltsam. Hängt vielleicht damit zusammen, dass du vordefinierte Bezeichner als Text verwendest. Wer weiss was der Compiler damit anstellt. Probier doch mal:
WriteProfString ( szFileName , "IFX_PROD" + "UCT_NAME" , "Date_" + "Time" , "test" );
WriteProfString ( szFileName , "IFX_PROD" + "UCT_NAME" , "Date_" + "Time" , "test" );
Stefan Krüger
InstallSite.org twitter facebook